Разница между функциями LEN и DATALENGTH при работе с юникодными строками заключается в том, что они возвращают разные значения: 14
- LEN подсчитывает количество символов в строке, включая пробелы и специальные знаки. 4 При работе с юникодными строками она возвращает количество символов Unicode, составляющих строку. 4
- DATALENGTH возвращает размер строки в байтах, необходимых для хранения строки в памяти. 4 При обработке юникодной строки DATALENGTH возвращает количество байтов, необходимое для хранения каждого символа, то есть в два раза больше, чем количество символов. 12
Таким образом, LEN подходит для подсчёта видимых символов, а DATALENGTH — для анализа размера данных в памяти. 4