2010-08-30 48 views
0

我想只找到那些'col'c列不包含a-1字符的行。所以我不知道如何編寫腳本。我已經成功地寫出了與此相反的腳本。提前致謝。Mysql的正則表達式問題

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

我需要與此相反的腳本。我試過「不是正則表達式」,但它不起作用。

+0

是'A-1'一個在你的問題錯字?應該是'a-z'嗎? – 2010-08-30 02:40:15

回答

2

你需要方括號,括號不是:

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

您還需要小心你的意思。以上匹配任何在a-z中不包含任何字母的行。相反,如果你想匹配包含未在z至少一個字符行,那麼你需要這個來代替:

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

嘗試:

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」,而不是 「A-1」)