2010-08-30 6 views
0

Я хочу найти только те строки, чей столбец «col» c не содержит символов из a-1. Поэтому я не знаю, как писать сценарий. Мне удастся написать сценарий, который противоречит этому. Заранее спасибо.Задача Mysql Regex

select * 
    from tbl_comment c 
where c.`message` regexp '{a-z}'; 

Мне нужен сценарий, который будет противоположным этому. Я пробовал «не regexp», но он не работает.

+0

Является 'а-1' опечатка в вашем вопросе? Должно ли это быть 'a-z'? –

ответ

2

Вы должны квадратные скобки, а не фигурных скобок:

SELECT * 
FROM tbl_comment c 
WHERE c.`message` NOT REGEXP '[a-z]' 

Вы также должны быть осторожны, что вы имеете в виду. Вышеупомянутое соответствует любой строке, которая не содержит букв в a-z. Если вместо этого вы хотите, чтобы соответствовать строки, которые содержат хотя бы один символ не аз, то вам нужно вместо этого:

SELECT * 
FROM tbl_comment c 
WHERE c.`message` REGEXP '[^a-z]' 
1

TRY:

select * from tbl_comment c where c.message regexp '[^A-Z]' 

или:

select * from tbl_comment c where c.message not regexp '[A-Z]' 

спецификаторов класса символов должно быть в square brackets.

(я предполагаю, что вы имели в виду "A-Z", а не "А-1")