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)
阅读更多:MySQL 教程