ที่จริงแล้ว ฟังก์ชัน HEX() จะแปลงค่าทศนิยมหรือสตริงเป็นค่าเลขฐานสิบหก หลังจากการแปลง MySQL ส่งคืนการแสดงสตริงของค่าเลขฐานสิบหกนั้น
ไวยากรณ์
HEX(Num or Str)
ดังที่เราทราบดีว่าฟังก์ชัน HEX() สามารถแปลงตัวเลขหรือสตริงได้ ดังนั้น 'Num' ในไวยากรณ์จะแสดงตัวเลขที่จะถูกแปลงเป็นเลขฐานสิบหก และ 'Str' เป็นสตริงที่อักขระจะถูกแปลงเป็นเลขฐานสิบหกสองหลัก
ตัวอย่าง
mysql> Select HEX(210); +----------+ | HEX(210) | +----------+ | D2 | +----------+ 1 row in set (0.00 sec)
ในตัวอย่างข้างต้น 210 เป็นเลขฐานสิบซึ่งถูกแปลงเป็นการแทนค่าสตริงฐานสิบหกและถือเป็นตัวเลข BIGINT
mysql> SELECT HEX('NULL');
+-------------+
| HEX('NULL') |
+-------------+
| 4E554C4C |
+-------------+
1 row in set (0.00 sec) ในตัวอย่างข้างต้น 'NULL' คือสตริงที่อักขระถูกแปลงเป็นเลขฐานสิบหกสองหลัก (ต่ออักขระเลขฐานสิบหกสองหลัก)
โดยทั่วไป ฟังก์ชัน MySQL HEX() เทียบเท่ากับ CONV(N,10,16) แต่ความแตกต่างพื้นฐานคือ HEX() สามารถแปลงอักขระสตริงเป็นเลขฐานสิบหกสองหลัก แต่ CONV() คืนค่า 0 เมื่อพยายามแปลงอักขระสตริงเป็นเลขฐานสิบหก สตริง ดังตัวอย่างต่อไปนี้ −
ตัวอย่าง
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)