Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฟังก์ชัน MySQL HEX() คืออะไร และแตกต่างจากฟังก์ชัน CONV() อย่างไร


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