sql >> Databasteknik >  >> RDS >> Mysql

MySQL - length() vs char_length()

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.



  1. SET NULL:Ange en sträng som ska returneras när ett nollvärde förekommer i SQLcl / SQL*Plus

  2. Kan jag blint ersätta alla mysql_-funktioner med mysqli_?

  3. Varför ignorerar SQL Server det tomma utrymmet i slutet automatiskt?

  4. Kan vi uppdatera primärnyckelvärden för en tabell?