ntext列中的数据长度?

如何找出SQL中ntext列的数据长度/大小? – 它的长度超过了8000字节,所以我不能把它转换成varchar。 谢谢。

使用DataLength()

SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0 

问题中的线索:使用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()修剪尾随空格并返回字符数。

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