mysql - 在mysql表中查找非ascii空格

标签 mysql

我有一个大型数据库,其中诸如 Trim 之类的东西和我用来计算单词数的函数并不总是有效(某些记录仍然有“空格”,并且多单词字段的计数为 1)。让我相信我有非 ASCII 空格。

我尝试这样做来查找违规记录:

SELECT * FROM TABLE WHERE FIELD NOT REGEXP '[A-Za-z0-9 ;,]'

换句话说,我使用的所有字母、数字、字符和空格。

返回调零。

是否有更好的方法来做到这一点(即有效的方法)?

最佳答案

您的正则表达式将匹配包含 {A-Za-z0-9、空格、分号集合中的一个或多个字符的行,冒号}。

最好使用 POSIX [:cntrl:] 字符类专门查找不可打印的字符:

SELECT * FROM TABLE WHERE FIELD REGEXP '[[:cntrl:]]'

关于mysql - 在mysql表中查找非ascii空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18512946/

相关文章:

mysql - 如何匹配两个表之间varchar字段中的字符串

mysql - 关于在存储过程中验证 mysql 中的电子邮件地址

mysql - Xampp MySQL 意外关闭(问题不是端口)

mysql - SQL - 数据库设计,需要建议

MYSQL less Than函数不能正常工作

mysql - 无法使用 ruby​​ gem 访问 MySQL 数据库

php - 为什么分解关联数组会以某种方式改变以前存储的图片?

mysql - 使用 MySQL 创建触发器,并在列名中包含连字符/破折号

php - Codeigniter 获取复杂查询的行数

MySQL:如何在 mysql 中获取列表 innodb 文件名?