Trong MySQL, bạn có thể sử dụng ASCII()
hàm để trả về mã ASCII cho một ký tự nhất định. Cụ thể hơn, nó trả về mã ASCII cho ký tự ngoài cùng bên trái trong một chuỗi nhất định.
Bạn cũng có thể sử dụng ORD()
, hoạt động theo cách tương tự, ngoại trừ việc nó cũng hỗ trợ các ký tự nhiều byte.
Cú pháp
Đây là cú pháp cho ASCII()
chức năng:
ASCII(str)
Ở đâu str
là chuỗi mà bạn muốn có mã ASCII của ký tự ngoài cùng bên trái.
Ví dụ
Đây là một ví dụ:
SELECT ASCII('Z');
Kết quả:
+------------+ | ASCII('Z') | +------------+ | 90 | +------------+
Vì vậy, chúng ta có thể thấy từ ví dụ này rằng chữ hoa Z
có mã ASCII là 90.
Lưu ý rằng có một mã ASCII khác nhau cho chữ hoa và chữ thường. Vì vậy, để lấy mã ASCII cho chữ thường z
, chúng tôi cần cung cấp z
viết thường như đối số:
SELECT ASCII('z');
Kết quả:
+------------+ | ASCII('z') | +------------+ | 122 | +------------+
Và như đã đề cập, chỉ có ký tự ngoài cùng bên trái được trả về:
SELECT ASCII('Zz');
Kết quả:
+-------------+ | ASCII('Zz') | +-------------+ | 90 | +-------------+
Một giải pháp thay thế:Hàm ORD ()
Bạn cũng có thể sử dụng ORD()
hàm để trả về giá trị ASCII của một ký tự.
SELECT ORD('Z');
Kết quả:
+----------+ | ORD('Z') | +----------+ | 90 | +----------+
Sự khác biệt giữa ASCII()
và ORD()
đó là, ORD()
cũng có thể trả về giá trị cho các ký tự nhiều byte trong khi ASCII()
chỉ giới hạn trong phạm vi ASCII.