MYSQL 搜索字符串是否包含特殊字符?

标签 mysql sql regex select

我需要搜索包含特殊字符的表字段。我找到了给定的解决方案 here像这样的东西:

SELECT * 
FROM `tableName` 
WHERE `columnName` LIKE "%#%" 
OR `columnName` LIKE "%$%" 
OR (etc.)

但是这个解决方案太宽泛了。我需要提及所有特殊字符。但我想要一些搜索类似的东西:

SELECT *
FROM `tableName`
WHERE `columnName` LIKE '%[^a-zA-Z0-9]%'

这是搜索列,不仅包含 a-z、A-Z 和 0-9,还包含其他一些字符。 MYSQL

是否可行

最佳答案

使用正则表达式

SELECT *
FROM `tableName`
WHERE `columnName` REGEXP '[^a-zA-Z0-9]'

这将选择特定列至少包含一个非字母数字字符的所有行。

REGEXP '[^[:alnum:]]'

关于MYSQL 搜索字符串是否包含特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33538420/

相关文章:

python - 将 pandas 数据帧作为 mysql 查询中的参数传递

java - Clojure 的正则表达式解析/编译有多智能?

regex - 如何在 python 正则表达式中获得所有可能的子组?

php - 关于分层 MySQL 数据库设计的建议

mysql - 如何优化这个sql

mysql - 使用多个查询或 vs 联合多个查询,哪个会更快?

sql - "BEGIN..COMMIT;"在 SQLite 中失败

php - 复杂的 SQL 弄清楚如何提取最新数据

mysql - On 子句中的未知列(但确实存在)

javascript - 正则表达式模式仅匹配前两次