如何在 MySQL 中找到非 ASCII 字符?
非ASCII字符是诸如英镑符号(£)、商标符号、加减符号等字符。要从表中查找非ASCII字符,需要执行以下步骤-
首先在create命令的帮助下创建一个表,如下所示-
mysql> CREATE table NonASciiDemo -> ( -> NonAScii varchar(100) -> );
之后,在插入命令的帮助下将记录插入表中,如下所示-
mysql> INSERT into NonASciiDemo values('-,-'); mysql> INSERT into NonASciiDemo values(' '); mysql> INSERT into NonASciiDemo values('£'); mysql> INSERT into NonASciiDemo values('123abcd£');
如上所示,将四条记录插入到表中,其中两条记录包含非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)