2013-07-08 9 views
5

私は、次のSQL commantを連結した文字列と列の値をキャストしようとしています:キャスト文字列+

CAST('Strign:'+[KlirAn] as NVARCHAR(max)) 

このコマンドを実行した後、私は次のエラーを取得する:

Msg 402, Level 16, State 1, Line 1 
The data types varchar and ntext are incompatible in the add operator. 

助けてください?

+0

KlirAnのデータ型がどのようなものですしてみてください? –

+0

[KlirAn]がntextだとしますか? –

+0

カラム '** [KlirAn]'のテーブル用のDBスキーマを提供してください** – Luv

答えて

13

次のことを試してみてください。

'String:'+ CAST([KlirAn] as NVARCHAR(max)) 
+0

違いがありますか? – Luv

1

問題は'Strign:'varcharで、[KlirAn]NTEXTので、可能性の修正があるということである。

CAST('Strign:'+CAST([KlirAn] AS VARCHAR(max)) as NVARCHAR(max)) 

@Damien_The_Unbelieverコメントで述べているように、それはありませんそれを行う最も輝かしい方法ですが、それは動作します。あなたは、単に暗黙のSQLでの変換(VARCHAR TO NVARCHAR)との利点を取ることができる

:ところで

'Strign:' + CAST([KlirAn] AS NVARCHAR(max)) 

、あなたが考慮に入れる必要があります。

ntext, text, and image data types will be removed in a future version of MicrosoftSQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use
them. Use nvarchar(max), varchar(max), and varbinary(max) instead.

+0

文字列をマングルした後で、 'NTEXT'カラムの' KlirAn'を** 'VARCHAR' **にキャストして、結果を' NVARCHAR'にキャストするのはなぜですか?それはなぜ? –

+0

本当に、私の答えを編集しました。 –

3

この

SELECT 
    'String:'+CONVERT(NVARCHAR(max),[KlirAn]) 
FROM table 
関連する問題