MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách ORD () hoạt động trong MariaDB

Trong MariaDB, ORD() là một hàm chuỗi tích hợp trả về mã ký tự số của ký tự ngoài cùng bên trái của đối số chuỗi của nó.

ORD() hàm có thể xử lý các ký tự nhiều byte. Điều này trái ngược với ASCII() , chỉ xử lý các ký tự byte đơn (8 bit).

Cú pháp

Cú pháp như sau:

 ORD(str) 

Ở đâu str là đối số chuỗi.

ORD() sẽ chỉ trả về mã số của ngoài cùng bên trái ký tự của chuỗi này.

Nếu ký tự ngoài cùng bên trái là ký tự nhiều byte, ORD() sử dụng công thức sau để tính toán kết quả của nó:

   (1st byte code)
+ (2nd byte code x 256)
+ (3rd byte code x 256 x 256) ... 

Ví dụ

Dưới đây là một ví dụ đơn giản để chứng minh:

 SELECT ORD('H'); 

Kết quả:

 + ---------- + | ORD ('H') | + ---------- + | 72 | + ---------- + 

Như đã đề cập, ORD() chỉ trả về mã 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 ORD('Homer'); 

Kết quả:

 + -------------- + | ORD ('Homer') | + -------------- + | 72 | + -------------- + 

Để chứng minh thêm điều này, hãy lấy mã từ mỗi chữ cái trong chuỗi trên:

 SELECT 
    ORD('H'),
    ORD('o'),
    ORD('m'),
    ORD('e'),
    ORD('r'); 

Kết quả:

 + ---------- + ---------- + ---------- + ---------- + - -------- + | ORD ('H') | ORD ('o') | ORD ('m') | ORD ('e') | ORD ('r') | + ---------- + ---------- + ---------- + --------- - + ---------- + | 72 | 111 | 109 | 101 | 114 | + ---------- + ---------- + ---------- + ---------- + --- ------- + 

Ký tự nhiều byte

Dưới đây là một ví dụ sử dụng ký tự nhiều byte:

 SELECT ORD('©'); 

Kết quả:

 + ----------- + | ORD ('©') | + ----------- + | 49833 | + ----------- + 

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 
    ORD('H'),
    ORD('h'); 

Kết quả:

 + ---------- + ---------- + | ORD ('H') | ORD ('h') | + ---------- + ---------- + | 72 | 104 | + ---------- + ---------- + 

Một ví dụ về cơ sở dữ liệu

Đây là một ví dụ về việc sử dụng ORD() trong một truy vấn cơ sở dữ liệu:

 USE PetHouse;
SELECT 
  PetName, 
  ORD(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 ORD() hàm trả về giá trị ASCII cho ký tự đó.

 USE PetHouse;
SELECT 
  PetName,
  RIGHT(PetName, 1) 'Rightmost character',
  ORD(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 ORD(''); 

Kết quả:

 + --------- + | ORD ('') | + --------- + | 0 | + --------- + 

Giá trị rỗng

Cung cấp null kết quả là null được trả lại.

 SELECT ORD(null); 

Kết quả:

 + ----------- + | ORD (null) | + ----------- + | KHÔNG | + ----------- + 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của toán tử BINARY trong MariaDB

  2. Mã hóa cơ sở dữ liệu:Tại sao và ở đâu bạn cần mã hóa dữ liệu

  3. MariaDB SESSION_USER () Giải thích

  4. Giới thiệu MariaDB Platform X5:cơ sở dữ liệu khối lượng công việc bất kỳ, hiện ở mọi quy mô

  5. So sánh Giải pháp Oracle RAC HA với Galera Cluster cho MySQL hoặc MariaDB