如果字符串包含特殊字符,MYSQL搜索?

时间:2015-11-05 07:00:52

标签: 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

1 个答案:

答案 0 :(得分:15)

使用regexp

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

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

REGEXP '[^[:alnum:]]'