Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

So sánh ORD() và ASCII() trong MySQL

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ống ASCII().

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.