Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách LENGTH() đo độ dài chuỗi trong MySQL (theo byte)

LENGTH() đo độ dài chuỗi theo byte – không multi-byte safe.

Ví dụ cơ bản

mysql> SELECT LENGTH('tutorialspoint');
+--------------------------+
| LENGTH('tutorialspoint') |
+--------------------------+
| 14                       |
+--------------------------+

Sau khi chuyển Unicode (UCS-2, 2 byte/ký tự)

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
mysql> SELECT LENGTH(@A);
+------------+
| LENGTH(@A) |
+------------+
| 28         |
+------------+

Kết quả 28 (14 ký tự × 2 byte).

So sánh với CHAR_LENGTH() (multi-byte safe)

mysql> SELECT CHAR_LENGTH(@A);
+-----------------+
| CHAR_LENGTH(@A) |
+-----------------+
| 14              |
+-----------------+

Kết luận: Dùng CHAR_LENGTH() hoặc CHARACTER_LENGTH() để đếm số ký tự thực sự, đặc biệt với UTF-8/Unicode.