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