Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฟังก์ชัน OCTET_LENGTH() คือคำว่าไหนของ LENGTH()

OCTET_LENGTH() = LENGTH()

ทั้งสองฟังก์ชันวัดความยาวสตริงเป็น ไบต์ (bytes) ไม่ใช่จำนวนตัวอักษร จึง ไม่รองรับ Multi-byte characters เช่น Unicode

Syntax

OCTET_LENGTH(str)

ตัวอย่าง

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

ทดสอบกับ Unicode (UCS2)

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected

mysql> SELECT OCTET_LENGTH(@A);
+------------------+
| OCTET_LENGTH(@A) |
+------------------+
| 28               |
+------------------+

เปรียบเทียบกับ CHAR_LENGTH()

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

สรุป

ฟังก์ชันหน่วยนับMulti-byte safe
LENGTH() / OCTET_LENGTH()Bytesไม่
CHAR_LENGTH() / CHARACTER_LENGTH()Charactersใช่