私は、次の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.
助けてください?
私は、次の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.
助けてください?
問題は'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))
、あなたが考慮に入れる必要があります。
+ (String Concatenation) (Transact-SQL)はしません ntextデータ型のSQL Serverで作業します。実際に
、ntext型が廃止されました:
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.
文字列をマングルした後で、 'NTEXT'カラムの' KlirAn'を** 'VARCHAR' **にキャストして、結果を' NVARCHAR'にキャストするのはなぜですか?それはなぜ? –
本当に、私の答えを編集しました。 –
この
SELECT
'String:'+CONVERT(NVARCHAR(max),[KlirAn])
FROM table
KlirAnのデータ型がどのようなものですしてみてください? –
[KlirAn]がntextだとしますか? –
カラム '** [KlirAn]'のテーブル用のDBスキーマを提供してください** – Luv