sql >> Databáze >  >> RDS >> Mysql

MySQL - length() vs char_length()

LENGTH() vrátí délku řetězce měřenou v bajtech .
CHAR_LENGTH() vrátí délku řetězce měřenou ve znacích .

To je zvláště důležité pro Unicode, ve kterém je většina znaků zakódována do dvou bajtů. Nebo UTF-8, kde se počet bajtů liší. Například:

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

Jak můžete vidět, znak eura zabírá 3 bajty (je zakódován jako 0xE282AC v UTF-8), i když je to pouze jeden znak.



  1. Systémové databáze SQL Server – Obnovení systémových databází

  2. ORA-00900:neplatný příkaz SQL- při spuštění procedury v oracle 10g

  3. Jak vyplnit chybějící data v MySQL?

  4. Zabránění poklesu tabulky u cílového schématu v Oracle Streams