Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - length() vs. char_length()

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.