一尘不染

如何在MySQL中找到非ASCII字符?

mysql

我正在使用从Excel导入一些数据的MySQL数据库。数据包含非ASCII字符(破折号等)以及隐藏的回车符或换行符。有没有办法使用MySQL查找这些记录?


阅读 360

收藏
2020-05-17

共1个答案

一尘不染

这完全取决于您定义为“ ASCII”的内容,但是我建议尝试这样的查询变体:

SELECT * FROM tableName WHERE columnToCheck NOT REGEXP '[A-Za-z0-9]';

该查询将返回columnToCheck包含任何非字母数字字符的所有行。如果还有其他可接受的字符,请将其添加到正则表达式中的字符类。例如,如果句点,逗号和连字符都可以,请将查询更改为:

SELECT * FROM tableName WHERE columnToCheck NOT REGEXP '[A-Za-z0-9.,-]';

MySQL文档中最相关的页面可能是
12.5.2正则表达式

2020-05-17