ที่จริงแล้ว ฟังก์ชัน 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)