以下SQL:
SELECT notes + 'SomeText' FROM NotesTable a
给出错误:
数据类型nvarchar和text在add运算符中不兼容.
GateKiller.. 79
唯一的方法是将文本字段转换为nvarchar字段.
Select Cast(notes as nvarchar(4000)) + 'SomeText' From NotesTable a
否则,我建议在您的应用程序中进行连接.
唯一的方法是将文本字段转换为nvarchar字段.
Select Cast(notes as nvarchar(4000)) + 'SomeText' From NotesTable a
否则,我建议在您的应用程序中进行连接.
您可能还想考虑NULL值.在您的示例中,如果列注释具有空值,则结果值将为NULL.如果您希望空值表现为空字符串(以便答案出现'SomeText'),那么使用IsNull函数:
Select IsNull(Cast(notes as nvarchar(4000)),'') + 'SomeText' From NotesTable a
如果您使用的是SQL Server 2005或更高版本,则根据Notes字段中数据的大小,您可能需要考虑转换为nvarchar(max)而不是强制转换为可能导致字符串截断的特定长度.
Select Cast(notes as nvarchar(max)) + 'SomeText' From NotesTable a
你必须明确地将字符串类型转换为相同的,以便连接它们.在你的情况下,你可以通过在'SomeText'(N'SomeText')前面添加一个'N'来解决问题.如果这不起作用,请尝试Cast('SomeText'为nvarchar(8)).