LENGTH()
vrátí délku řetězce měřenou v bajtech . CHAR_LENGTH()
vrátí délku řetězce měřenou ve znacích .
To je zvláště důležité pro Unicode, ve kterém je většina znaků zakódována do dvou bajtů. Nebo UTF-8, kde se počet bajtů liší. Například:
select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1
Jak můžete vidět, znak eura zabírá 3 bajty (je zakódován jako 0xE282AC
v UTF-8), i když je to pouze jeden znak.