LENGTH()
returnerar längden på strängen mätt i byte . CHAR_LENGTH()
returnerar längden på strängen mätt i tecken .
Detta är särskilt relevant för Unicode, där de flesta tecken är kodade i två byte. Eller UTF-8, där antalet byte varierar. Till exempel:
select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1
Som du kan se upptar eurotecknet 3 byte (det är kodat som 0xE282AC
i UTF-8) även om det bara är ett tecken.