当前位置:  开发笔记 > 数据库 > 正文

如何在sql server中查询查询中的文本?

如何解决《如何在sqlserver中查询查询中的文本?》经验,为你挑选了4个好方法。

以下SQL:

SELECT notes + 'SomeText'
FROM NotesTable a 

给出错误:

数据类型nvarchar和text在add运算符中不兼容.

GateKiller.. 79

唯一的方法是将文本字段转换为nvarchar字段.

Select Cast(notes as nvarchar(4000)) + 'SomeText'
From NotesTable a

否则,我建议在您的应用程序中进行连接.



1> GateKiller..:

唯一的方法是将文本字段转换为nvarchar字段.

Select Cast(notes as nvarchar(4000)) + 'SomeText'
From NotesTable a

否则,我建议在您的应用程序中进行连接.



2> Chris Wueste..:

您可能还想考虑NULL值.在您的示例中,如果列注释具有空值,则结果值将为NULL.如果您希望空值表现为空字符串(以便答案出现'SomeText'),那么使用IsNull函数:

Select IsNull(Cast(notes as nvarchar(4000)),'') + 'SomeText' From NotesTable a



3> Scott Nichol..:

如果您使用的是SQL Server 2005或更高版本,则根据Notes字段中数据的大小,您可能需要考虑转换为nvarchar(max)而不是强制转换为可能导致字符串截断的特定长度.

Select Cast(notes as nvarchar(max)) + 'SomeText' From NotesTable a


这应该是正确的答案。它避免了截断文本。

4> Craig..:

你必须明确地将字符串类型转换为相同的,以便连接它们.在你的情况下,你可以通过在'SomeText'(N'SomeText')前面添加一个'N'来解决问题.如果这不起作用,请尝试Cast('SomeText'为nvarchar(8)).

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有