Как узнать длину и размер данных в столбце ntext в SQL? - Это длиннее 8000 байт, поэтому я не могу отнести его к varchar. Спасибо.
Длина данных в столбце ntext?
Ответ 1
Используйте DataLength()
SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0
Ответ 2
Ключ в вопросе: используйте 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()
обрезает конечные пробелы и возвращает количество символов.
Ответ 3
Select Max(DataLength([NTextFieldName])) from YourTable