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

ฟังก์ชันใดเป็นคำเหมือนของฟังก์ชัน MySQL LENGTH()


อย่างที่เราทราบดีว่าฟังก์ชัน 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)