ตัวอักษร Non-ASCII เช่น สัญลักษณ์ปอนด์ (£), trademark, plus-minus สามารถค้นหาได้ด้วยฟังก์ชัน HEX() และ REGEXP
สร้างตารางและเพิ่มข้อมูล:
mysql> CREATE table NonASciiDemo ( NonAScii varchar(100) ); Query OK, 0 rows affected (0.61 sec)
mysql> INSERT into NonASciiDemo values(',-,'); Query OK, 1 row affected (0.18 sec)
mysql> INSERT into NonASciiDemo values(' '); Query OK, 1 row affected (0.23 sec)
mysql> INSERT into NonASciiDemo values('£'); Query OK, 1 row affected (0.30 sec)
mysql> INSERT into NonASciiDemo values('123abcd£'); Query OK, 1 row affected (0.24 sec)
แสดงทั้งหมด:
SELECT * FROM NonASciiDemo; +----------+ | NonAScii | +----------+ | -,- | | | | £ | | 123abcd£ | +----------+
Query ค้นหา Non-ASCII
SELECT * FROM NonASciiDemo WHERE NOT HEX(NonAScii) REGEXP '^([0-7][0-9A-F])*$';
ผลลัพธ์ (เฉพาะแถวที่มี £):
+----------+ | NonAScii | +----------+ | £ | | 123abcd£ | +----------+
อธิบาย: HEX() แปลงเป็น Hexadecimal, REGEXP '^([0-7][0-9A-F])*$' ตรวจสอบว่าเป็น ASCII เท่านั้น (0-7F) NOT จะกลับกันคือ Non-ASCII