9

次のSQLコマンドで連結された文字列と列の値をキャストしようとしています:

 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.

何か助けてください。

4

3 に答える 3

18

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

'String:'+ CAST([KlirAn] as NVARCHAR(max))
于 2013-07-08T09:49:09.217 に答える
4

これを試して

SELECT
  'String:'+CONVERT(NVARCHAR(max),[KlirAn])
FROM table
于 2013-07-08T09:56:22.683 に答える
1

問題は'Strign:'isvarchar[KlirAn]isNTEXTであるため、可能な修正は次のとおりです。

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、および image データ型は、MicrosoftSQL Server の将来のバージョンで削除される予定です。新しい開発作業でこれらのデータ型を使用することは避け、現在それらを使用しているアプリケーションを変更することを計画して
ください。代わりに、nvarchar(max)、varchar(max)、および varbinary(max) を使用してください。

于 2013-07-08T09:54:38.857 に答える