MySQL - длина () по сравнению с char_length ()

Попытайтесь посмотреть Net2Java, Это кажется мне наилучшим вариантом для автоматического (или полуавтоматический, по крайней мере) преобразование от C# до Java

209
задан BalusC 14 November 2009 в 04:32
поделиться

1 ответ

LENGTH () возвращает длину строки , измеренную в байтах .
CHAR_LENGTH () возвращает длину строки , измеренную в символах .

Это особенно актуально для Unicode, в котором большинство символов закодировано в двух байтах. Или UTF-8, где количество байтов варьируется. Например:

select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1

Как видите, знак евро занимает 3 байта (он закодирован как 0xE282AC в UTF-8), хотя это всего лишь один символ.

345
ответ дан 23 November 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: