LENGTH()
バイト単位で測定された文字列の長さを返します 。
CHAR_LENGTH()
文字で測定された文字列の長さを返します 。
これは、ほとんどの文字が2バイトでエンコードされるUnicodeに特に関係があります。または、バイト数が変化するUTF-8。例:
select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1
ご覧のとおり、ユーロ記号は3バイトを占めています(0xE282AC
としてエンコードされています) UTF-8で)1文字だけですが。