我需要在搜索表字段中包含特殊字符。我找到了一个给出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
答案 0 :(得分:15)
使用regexp
SELECT *
FROM `tableName`
WHERE `columnName` REGEXP '[^a-zA-Z0-9]'
这将选择特定列包含至少一个非字母数字字符的所有行。
或
REGEXP '[^[:alnum:]]'