sql >> Base de Datos >  >> RDS >> Mysql

MySQL - longitud () frente a char_length ()

LENGTH() devuelve la longitud de la cadena medida en bytes .
CHAR_LENGTH() devuelve la longitud de la cadena medida en caracteres .

Esto es especialmente relevante para Unicode, en el que la mayoría de los caracteres se codifican en dos bytes. O UTF-8, donde varía el número de bytes. Por ejemplo:

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

Como puede ver, el símbolo del euro ocupa 3 bytes (está codificado como 0xE282AC en UTF-8) aunque solo sea un carácter.