ntext列中的数据长度?

时间:2008-10-23 15:05:16

标签: sql-server

如何在SQL中的ntext列中找出数据的长度/大小? - 它超过8000字节,所以我无法将其转换为varchar。感谢。

3 个答案:

答案 0 :(得分:69)

使用DataLength()

SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0 

答案 1 :(得分:20)

问题中的线索:使用DATALENGTH()。请注意,它与LEN()具有不同的行为:

SELECT LEN(CAST('Hello   ' AS NVARCHAR(MAX))), 
       DATALENGTH(CAST('Hello   ' AS NVARCHAR(MAX))), 
       DATALENGTH(CAST('Hello   ' AS NTEXT))

返回5,16,16。

换句话说,DATALENGTH()不会删除尾随空格并返回字节数,而LEN()会修剪尾随空格并返回字符数。

答案 2 :(得分:1)

Select Max(DataLength([NTextFieldName])) from YourTable