Trong MariaDB, ASCII()
là một hàm chuỗi tích hợp trả về giá trị ASCII dạng số của ký tự ngoài cùng bên trái của đối số chuỗi của nó.
ASCII()
hàm chỉ hoạt động trên các ký tự 8 bit. Để lấy mã cho các ký tự nhiều byte, hãy sử dụng ORD()
chức năng thay thế.
Cú pháp
Cú pháp như sau:
ASCII(str)
Ở đâu str
là đối số chuỗi.
ASCII()
sẽ trả về giá trị ASCII dạng số của chỉ ngoài cùng bên trái ký tự của chuỗi này.
Ví dụ
Dưới đây là một ví dụ đơn giản để chứng minh:
SELECT ASCII('Maria');
Kết quả:
+ ---------------- + | ASCII ('Maria') | + ---------------- + | 77 | + ---------------- +
Điều này cho chúng ta biết rằng ký tự hoa M
có giá trị ASCII dạng số là 77
.
Như đã đề cập, ASCII()
chỉ trả về giá trị ASCII của ngoài cùng bên trái tính cách. Do đó, điều sau tạo ra cùng một kết quả:
SELECT ASCII('M');
Kết quả:
+ ------------ + | ASCII ('M') | + ------------ + | 77 | + ------------ +
Để chứng minh thêm điều này, hãy lấy giá trị ASCII bằng số từ mỗi chữ cái trong chuỗi trên:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Kết quả:
+ ------------ + ------------ + ------------ + ------- ----- + ------------ + | ASCII ('M') | ASCII ('a') | ASCII ('r') | ASCII ('i') | ASCII ('a') | + ------------ + ------------ + ------------ + --- --------- + ------------ + | 77 | 97 | 114 | 105 | 97 | + ------------ + ------------ + ------------ + -------- ---- + ------------ +
Phân biệt chữ hoa chữ thường
Các chữ cái viết hoa có giá trị ASCII khác với giá trị chữ thường tương đương của chúng.
Ví dụ:
SELECT
ASCII('M'),
ASCII('m');
Kết quả:
+ ------------ + ------------ + | ASCII ('M') | ASCII ('m') | + ------------ + ------------ + | 77 | 109 | + ------------ + ------------ +
Một ví dụ về cơ sở dữ liệu
Đây là một ví dụ về việc sử dụng ASCII()
trong một truy vấn cơ sở dữ liệu:
USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Kết quả:
+ --------- + ----------------------------------- + | PetName | Giá trị ASCII của ký tự ngoài cùng bên trái | + --------- + --------------------------------- - + | Bông xù | 70 || Tìm nạp | 70 || Cào | 83 || Wag | 87 || Tweet | 84 || Bông xù | 70 || Vỏ cây | 66 || Meo meo | 77 | + --------- + ----------------------------------- +
Ký tự ngoài cùng bên phải
Ở đây, tôi sử dụng RIGHT()
hàm để trả về ký tự ngoài cùng bên phải của mỗi tên vật nuôi, sau đó sử dụng lại ký tự đó với ASCII()
hàm trả về giá trị ASCII cho ký tự đó.
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
Kết quả:
+ --------- + --------------------- + ------------ + | PetName | Nhân vật ngoài cùng bên phải | Mã ASCII | + --------- + --------------------- + ------------ + | Bông xù | y | 121 || Tìm nạp | h | 104 || Cào | h | 104 || Wag | g | 103 || Tweet | t | 116 || Bông xù | y | 121 || Vỏ cây | k | 107 || Meo meo | w | 119 | + --------- + --------------------- + ------------ +Chuỗi trống
Cung cấp một chuỗi trống sẽ dẫn đến
0
được trả lại.SELECT ASCII('');
Kết quả:
+ ----------- + | ASCII ('') | + ----------- + | 0 | + ----------- +Giá trị rỗng
Cung cấp
null
kết quả lànull
được trả lại.SELECT ASCII(null);
Kết quả:
+ ------------- + | ASCII (null) | + ------------- + | KHÔNG | + ------------- +