Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - longueur () vs char_length ()

LENGTH() renvoie la longueur de la chaîne mesurée en octets .
CHAR_LENGTH() renvoie la longueur de la chaîne mesurée en caractères .

Ceci est particulièrement pertinent pour Unicode, dans lequel la plupart des caractères sont codés sur deux octets. Ou UTF-8, où le nombre d'octets varie. Par exemple :

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

Comme vous pouvez le voir, le signe Euro occupe 3 octets (il est encodé sous la forme 0xE282AC en UTF-8) même s'il ne s'agit que d'un seul caractère.