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

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

Trong MariaDB, UNHEX() là một hàm chuỗi tích hợp thực hiện thao tác nghịch đảo của HEX() chức năng.

Trong khi đó, HEX() hàm trả về một biểu diễn thập lục phân của một chuỗi nhất định, UNHEX() hàm trả về biểu diễn chuỗi của một giá trị thập lục phân nhất định.

Cụ thể, UNHEX() diễn giải từng cặp chữ số thập lục phân trong đối số của nó dưới dạng số, sau đó chuyển nó thành ký tự được đại diện bởi số.

Kết quả được trả về dưới dạng một chuỗi nhị phân.

Cú pháp

Cú pháp như sau:

UNHEX(str)

Ở đâu str là giá trị thập lục phân là "chưa xử lý".

Ví dụ

Đây là một ví dụ cơ bản:

SELECT UNHEX('61');

Kết quả:

+-------------+
| UNHEX('61') |
+-------------+
| a           |
+-------------+

Biểu diễn hệ thập lục phân của chữ thường a61 và như vậy bằng cách chuyển 61 tới UNHEX() , chúng ta nhận được ký tự viết thường a .

Dưới đây là một ví dụ chạy qua một vài giá trị thập lục phân khác:

SELECT 
    UNHEX('61'),
    UNHEX('6161'),
    UNHEX('41'),
    UNHEX('4141'),
    UNHEX('62'),
    UNHEX('6262'),
    UNHEX('42'),
    UNHEX('4242'),
    UNHEX('436174'),
    UNHEX('446F67'),
    UNHEX('50617773202620436C617773'),
    UNHEX('5A65627261');

Kết quả (sử dụng đầu ra dọc):

                      UNHEX('61'): a
                    UNHEX('6161'): aa
                      UNHEX('41'): A
                    UNHEX('4141'): AA
                      UNHEX('62'): b
                    UNHEX('6262'): bb
                      UNHEX('42'): B
                    UNHEX('4242'): BB
                  UNHEX('436174'): Cat
                  UNHEX('446F67'): Dog
UNHEX('50617773202620436C617773'): Paws & Claws
              UNHEX('5A65627261'): Zebra

So với HEX()

Đây là một ví dụ tổ chức HEX() bên trong UNHEX() để trả về chuỗi ban đầu:

SELECT 
    HEX('Homer Jay'),
    UNHEX(HEX('Homer Jay'));

Kết quả:

+--------------------+-------------------------+
| HEX('Homer Jay')   | UNHEX(HEX('Homer Jay')) |
+--------------------+-------------------------+
| 486F6D6572204A6179 | Homer Jay               |
+--------------------+-------------------------+

Tuy nhiên, hãy nhớ rằng UNHEX() trả về kết quả của nó dưới dạng một chuỗi nhị phân:

SELECT 
    COLLATION('Homer Jay') AS "Literal",
    COLLATION(HEX('Homer Jay')) AS "HEX()",
    COLLATION(UNHEX(HEX('Homer Jay'))) AS "UNHEX()";

Kết quả:

+-----------------+-----------------+---------+
| Literal         | HEX()           | UNHEX() |
+-----------------+-----------------+---------+
| utf8_general_ci | utf8_general_ci | binary  |
+-----------------+-----------------+---------+

Đối số rỗng

Chuyển null thành UNHEX() kết quả là null :

SELECT UNHEX(null);

Kết quả:

+-------------+
| UNHEX(null) |
+-------------+
| NULL        |
+-------------+

Không tranh luận

Gọi UNHEX() mà không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT UNHEX();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UNHEX'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB ROWNUM () Giải thích

  2. Cách thiết kế một cụm MariaDB được phân phối theo địa lý

  3. 2 cách để biết ngày nào thuộc về quý trong MariaDB

  4. Giám sát bảo mật cơ sở dữ liệu cho MySQL và MariaDB

  5. Sử dụng mycli và Học MariaDB / MySQL một cách thoải mái trong một thiết bị đầu cuối!