2013-03-12 1 views
1

мне нужно выполнить следующий запрос: MySQLнужно 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

http://dev.mysql.com/doc/refman/5.1/en/regexp.html – Damonsson

ответ

1

Использование регулярных выражений:

SELECT id, name 
FROM mytable 
WHERE name not rlike '[;.<>#$!]'; 
Смежные вопросы