เปรียบเทียบ ORD() และ ASCII()
ORD()** คืนค่ารหัสของตัวอักษรตัวแรก หากตัวอักษรตัวนั้นเป็น multi-byte (ลำดับของ 1 หรือหลายไบต์) โดยใช้สูตร:
(1st byte code) + (2nd byte code * 256) + (3rd byte code * 256^2)
ASCII()** คืนค่า ASCII ของตัวอักษรตัวแรกของสตริงที่ให้มา
ความแตกต่าง
ความแตกต่างอยู่ที่: ตัวอักษรตัวแรกเป็น multi-byte หรือไม่
- หาก ไม่ใช่ multi-byte character -> ORD() และ ASCII() คืนค่า เหมือนกัน
- หาก เป็น multi-byte character -> ORD() คำนวณตามสูตรข้างต้น ASCII() คืนค่าแค่ไบต์แรก
ตัวอย่าง (ตัวอักษรไม่ใช่ multi-byte):
mysql> Select ORD('Tutorialspoint');
+-----------------------+
| ORD('Tutorialspoint') |
+-----------------------+
| 84 |
+-----------------------+
mysql> Select ASCII('Tutorialspoint');
+-------------------------+
| ASCII('Tutorialspoint') |
+-------------------------+
| 84 |
+-------------------------+
ทั้งคู่คืนค่า 84 เหมือนกัน