อย่างที่เราทราบดีว่าฟังก์ชัน MySQL OCTET_LENGTH() ยังวัดความยาวของสตริงเป็น 'ไบต์' ดังนั้นจึงเป็นคำพ้องความหมายของฟังก์ชัน MySQL LENGTH() ไวยากรณ์ของฟังก์ชันนี้คือ OCTET_LENGTH(Str) โดยที่ Str คือสตริงที่ต้องส่งคืนความยาวเป็นอักขระ
ไม่ปลอดภัยแบบหลายไบต์เช่นฟังก์ชัน LENGTH() ตัวอย่างเช่น หากสตริงมีอักขระ 2 ไบต์สี่ตัว ฟังก์ชัน OCTET_LENGTH() จะส่งกลับ 8 ตัว ซึ่งแสดงให้เห็นในตัวอย่างด้านล่าง −
ตัวอย่าง
mysql> Select OCTET_LENGTH('tutorialspoint'); +--------------------------------+ | OCTET_LENGTH('tutorialspoint') | +--------------------------------+ | 14 | +--------------------------------+ 1 row in set (0.00 sec)
ชุดผลลัพธ์ด้านบนแสดงว่าความยาวของสตริง 'tutorialspoint' คือ 14 เนื่องจากยังไม่ได้แปลงเป็นอักขระ Unicode แบบสอบถามต่อไปนี้แปลงเป็นอักขระ Unicode -
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
หลังจากแปลงสตริงใน Unicode จะให้ผลลัพธ์เป็น 28 แทนที่จะเป็น 14 เนื่องจากใน Unicode อักขระตัวเดียวจะใช้เวลา 2 ไบต์ดังที่แสดงด้านล่าง -
mysql> Select OCTET_LENGTH(@A); +------------------+ | OCTET_LENGTH(@A) | +------------------+ | 28 | +------------------+ 1 row in set (0.00 sec)