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

Hàm nào là từ đồng nghĩa của MySQL LENGTH()?

Hàm OCTET_LENGTH() là từ đồng nghĩa (synonym) của LENGTH() vì cả hai đều đo độ dài chuỗi theo byte.

Cú pháp

OCTET_LENGTH(Str)

Lưu ý quan trọng: Cả hai hàm đều không an toàn đa byte (not multi-byte safe). Ví dụ: chuỗi có 4 ký tự 2-byte sẽ trả về 8.

Ví dụ minh họa

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

Chuyển sang Unicode (UCS-2, 2 byte/ký tự):

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

Kết quả 28 thay vì 14 do mỗi ký tự Unicode chiếm 2 byte. Đối chiếu với CHAR_LENGTH(@A) vẫn trả về 14 (đếm số ký tự).