MySQL 如何找到非ASCII字符

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 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程