- CHAR_LENGTH(): Số ký tự (character count).
- LENGTH(): Số byte (byte count).
Với ASCII/latin1: 1 ký tự = 1 byte → kết quả giống nhau.
Với Unicode (utf8mb4): 1 ký tự = 2-4 byte → kết quả khác nhau.
Ví dụ ASCII
mysql> SELECT CHAR_LENGTH('John'); -- 4
mysql> SELECT LENGTH('Tim'); -- 3
Ví dụ Unicode
mysql> CREATE TABLE LengthAndCharLengthDemo (
-> FirstName VARCHAR(200),
-> SecondName VARCHAR(255) CHARACTER SET ucs2 -- 2 byte/ký tự
-> );
Query OK, 0 rows affected (0.49 sec)
mysql> INSERT INTO LengthAndCharLengthDemo VALUES('John','Ritter');
Query OK, 1 row affected (0.22 sec)
mysql> SELECT CHAR_LENGTH(FirstName), LENGTH(SecondName)
-> FROM LengthAndCharLengthDemo
-> WHERE FirstName='John' AND SecondName='Ritter';
+------------------------+--------------------+ | CHAR_LENGTH(FirstName) | LENGTH(SecondName) | +------------------------+--------------------+ | 4 | 12 | +------------------------+--------------------+ 1 row in set (0.70 sec)
'John' (latin1) = 4 ký tự = 4 byte.
'Ritter' (ucs2) = 6 ký tự × 2 byte = 12 byte.