2013-04-02 56 views
-1

我試圖尋找所有以字母D開頭的字符串,在我的mysql查詢中我有這個。mysql正則表達式

REGEXP '^[D]{4}$' 

問題是它返回一切什麼恆星與D和結束與D太。

例如:

DDD 123 - true 
D 123 - true 
DDDD 1234 - true 

SSS 123 D - returns true, but should be false. 

任何想法,我缺少的是什麼?

回答

2

「......對於以字母d開頭的所有字符串」

你可以簡單地做它用LIKE

WHERE columnName LIKE 'D%' 

或正則表達式這種模式。

WHERE columnName REGEXP '^D.*' 
+0

耶但不幸的是我真的需要使用正則表達式。需要它通過我的數據庫中的車牌搜索 –

+1

'^ [D] {4} $'不會匹配任何東西,對吧?因爲它尋找'DDDD'。看這裏。 http://www.sqlfiddle.com/#!2/8b59d/4 –

+1

只有當您實際上包含多個字符時,才需要設置括號「[...]」。 '[D]'與'D'相同。 – tadman

0
select * from tablename where columnname RLIKE '^D' 

select * from tablename where columnname REGEXP '^D'