Khác biệt cốt lõi
- ASCII(str): Trả về mã ASCII của ký tự **đầu tiên** (chỉ đúng với ký tự 1 byte).
- ORD(str): Nếu ký tự đầu là **multi-byte** (nhiều byte), tính theo công thức:
(1st byte) + (2nd byte × 256) + (3rd byte × 256²) + ...
Nếu ký tự đầu là 1 byte, kết quả giốngASCII().
Ví dụ ký tự ASCII thông thường
mysql> SELECT ORD('Tutorialspoint'); -- 84
mysql> SELECT ASCII('Tutorialspoint'); -- 84
-- Cả hai trả về 84 (mã ASCII của 'T')
Khi xử lý ký tự Unicode (multi-byte), ORD() cho mã điểm mã (code point) đúng, còn ASCII() chỉ lấy byte đầu.