Computer >> Máy Tính >  >> Lập trình >> MySQL

Hàm MySQL HEX () là gì và nó khác với hàm CONV () như thế nào?

Trên thực tế, hàm HEX () chuyển đổi giá trị thập phân hoặc chuỗi thành giá trị thập lục phân. Sau khi chuyển đổi, MySQL trả về một biểu diễn chuỗi của giá trị thập lục phân đó.

Cú pháp

HEX(Num or Str)

Như chúng ta biết rằng hàm HEX () có thể chuyển đổi một số hoặc chuỗi do đó 'Num' trong cú pháp đại diện cho số sẽ được chuyển đổi sang hệ thập lục phân và 'Str' là một chuỗi có ký tự được chuyển đổi thành hai chữ số thập lục phân.

Ví dụ

mysql> Select HEX(210);
+----------+
| HEX(210) |
+----------+
| D2       |
+----------+
1 row in set (0.00 sec)

Trong ví dụ trên, 210 là một số thập phân được chuyển đổi thành biểu diễn chuỗi thập lục phân và nó được coi là số BIGINT.

mysql> SELECT HEX('NULL');
+-------------+
| HEX('NULL') |
+-------------+
| 4E554C4C    |
+-------------+
1 row in set (0.00 sec)

Trong ví dụ trên, ‘NULL’ là một chuỗi có các ký tự được chuyển đổi thành hai chữ số thập lục phân (mỗi ký tự có hai chữ số thập lục phân).

Về cơ bản, hàm MySQL HEX () tương đương với CONV (N, 10,16) nhưng sự khác biệt cơ bản là HEX () có thể chuyển đổi ký tự chuỗi thành hai chữ số thập lục phân nhưng CONV () trả về 0 khi cố gắng chuyển ký tự chuỗi thành hệ thập lục phân sợi dây. Nó được chứng minh trong ví dụ sau -

Ví dụ

mysql> Select HEX('N');
+----------+
| HEX('N') |
+----------+
| 4E       |
+----------+
1 row in set (0.00 sec)

mysql> Select CONV('N',10,16);
+-----------------+
| CONV('N',10,16) |
+-----------------+
| 0               |
+-----------------+
1 row in set (0.00 sec)