我正在尝试转换与以下 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.
请问有什么帮助吗?
尝试以下操作:
'String:'+ CAST([KlirAn] as NVARCHAR(max))
尝试这个
SELECT
'String:'+CONVERT(NVARCHAR(max),[KlirAn])
FROM table
问题是'Strign:'
isvarchar
和[KlirAn]
is NTEXT
,因此可能的解决方法是:
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 :
在 MicrosoftSQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用
它们的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。