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

ความคล้ายและต่างระหว่างฟังก์ชัน ORD() และ ASCII() ของ MySQL

เปรียบเทียบ 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 เหมือนกัน