次の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.
何か助けてください。
次の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.
何か助けてください。
次のことを試してください。
'String:'+ CAST([KlirAn] as NVARCHAR(max))
これを試して
SELECT
'String:'+CONVERT(NVARCHAR(max),[KlirAn])
FROM table
問題は'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))
ところで、次のことを考慮する必要があります。
+ (文字列連結) (Transact-SQL)は、ntext データ型のSQL Server では機能しません。
実際、ntext は非推奨です。
ntext、text、および image データ型は、MicrosoftSQL Server の将来のバージョンで削除される予定です。新しい開発作業でこれらのデータ型を使用することは避け、現在それらを使用しているアプリケーションを変更することを計画して
ください。代わりに、nvarchar(max)、varchar(max)、および varbinary(max) を使用してください。