需要MySQL惯用法来检查字符串是否包含任何一组字符

时间:2013-03-12 12:07:48

标签: mysql string function idioms

我需要运行以下MySQL查询:

SELECT id, name FROM mytable 
WHERE NOT CONTAINS_ANY(name, ';.<>#$!');

除了似乎没有像CONTAINS_ANY之类的东西(取两个字符串并检查第一个字符串是否包含第二个字符串中的任何字符)。我该怎么做?我想避免

SELECT id, name FROM mytable 
WHERE name NOT LIKE '%;%' 
  AND name NOT LIKE '%.%' 
  AND etc. etc.

和类似的丑陋。

1 个答案:

答案 0 :(得分:1)

使用正则表达式:

SELECT id, name
FROM mytable 
WHERE name not rlike '[;.<>#$!]';