如何在 MySQL 中查詢非 ASCII 字元?


非 ASCII 字元是諸如磅符號(£)、商標符號、正負號等字元。若要從表格中找到非 ASCII 字元,需要執行以下步驟:-

首先,使用以下給出的 create 命令建立一個表格:-

mysql> CREATE table NonASciiDemo
-> (
-> NonAScii varchar(100)
-> );
Query OK, 0 rows affected (0.61 sec)

然後,使用以下給出的 insert 命令將記錄插入表格:-

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)

如上所示,向表格中插入了四條記錄,其中兩條記錄包含非 ASCII 字元,兩條記錄包含 ASCII 字元。

若要顯示所有記錄,請使用以下給出的 select 命令:-

SELECT * from NonASciiDemo;

以下是輸出:

+----------+
| NonAScii |
+----------+
| -,-      |
|          |
| £        |
| 123abcd£ |
+----------+
4 rows in set (0.00 sec)

找到非 ASCII 字元的語法如下:-

SELECT * FROM yourTableName WHERE NOT HEX(yourColumnName) REGEXP '^([0-7][0-
9A-F])*$';

使用上述語法獲取非 ASCII 字元的查詢如下:-

mysql> SELECT * FROM NonASciiDemo WHERE NOT HEX(NonAScii) REGEXP '^([0-7][0-9AF])*$';

以下是上述查詢的輸出:-

+----------+
| NonAScii |
+----------+
| £        |
| 123abcd£ |
+----------+
2 rows in set (0.00 sec)

更新日期:2020-06-24

1K+ 檢視次數

開啟你的 事業

完成教程獲得認證

開始
廣告
© . All rights reserved.