Подсказка в вопросе: используйте 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()
обрезает завершающие пробелы и возвращает количество символов.