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