来自ntext列的SELECT值被截断

时间:2013-04-09 13:24:58

标签: sql sql-server-2008

我有包含ntext数据类型列的表。

我编写查询搜索一些示例,例如:

SELECT 
    Id,
    NtextColumnName
FROM Table
WHERE 
    NtextColumnName LIKE N'%search_term%'

并获得一定数量的行。但是,当查看此列以查找此search_term时,我看不到它,似乎结果被截断了。

我还尝试在文本中显示结果并应用查找,但没有结果。

如何在NtextColumnName列中检查某些搜索字词的存在,并使此结果可见?

1 个答案:

答案 0 :(得分:2)

根据列数据的时长,如果您只是想在Management Studio中查看数据,请将列转换为XML数据类型:

declare @t1 table(c1 ntext)
insert into @t1 values(space(5000) + 'a' + space(5000))
select cast(c1 as xml) from @t1

该示例将为您提供一个列,您可以单击该列以在新窗口中查看整个数据集。

返回的最大数据量的设置:

  • 工具|选项|查询结果| SQL Server |结果到文本| 每列中显示的最大字符数
  • 工具|选项|查询结果| SQL Server |结果到网格| 检索到的最大字符

编辑:获取完整值,对于较大的数据大小,this answer指向将其包装在CDATA列中的正确方法:

declare @t1 table(c1 ntext)
insert into @t1 values(space(10000) + 'a' + space(10000))
select 
  convert(xml,'<xml><![CDATA[' + cast(c1 as varchar(max)) + ']]></xml>') 
from 
  @t1