Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL - lunghezza() vs char_length()

LENGTH() restituisce la lunghezza della stringa misurata in byte .
CHAR_LENGTH() restituisce la lunghezza della stringa misurata in caratteri .

Ciò è particolarmente rilevante per Unicode, in cui la maggior parte dei caratteri è codificata in due byte. O UTF-8, dove varia il numero di byte. Ad esempio:

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

Come puoi vedere il segno dell'euro occupa 3 byte (è codificato come 0xE282AC in UTF-8) anche se è un solo carattere.