LENGTH()
gibt die Länge des Strings gemessen in Bytes zurück . CHAR_LENGTH()
gibt die Länge des Strings gemessen in Zeichen zurück .
Dies ist besonders relevant für Unicode, bei dem die meisten Zeichen in zwei Bytes codiert sind. Oder UTF-8, wobei die Anzahl der Bytes variiert. Zum Beispiel:
select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1
Wie Sie sehen können, belegt das Eurozeichen 3 Bytes (es ist als 0xE282AC
codiert in UTF-8), obwohl es nur ein Zeichen ist.