2013-06-04 102 views
5

數字我有表列pnum_s僅獲得使用正則表達式

我需要得到的只是那行,其值在列pnum_s正是10個符號,所有這些符號僅數字

什麼查詢必須寫這個?

我想

SELECT * FROM mytable WHERE pnum_s REGEXP '^\d+$'

但這不是返回0行

+0

'REGEXP '\ d {10}''? –

+0

你需要逃避'\ d'嗎? –

+0

可能地,我不熟悉MySQL如何執行Regular Expressions,但根據(http://www.regular-expressions.info/mysql.html),反斜槓需要轉義。 OP問題可能是你應該使用'\ $'而不是'$'。 –

回答

11

您正在尋找的圖案是'^[0-9]{10}$''^[[:digit:]]{10}$'

一切都是in the manual

+0

我嘗試了PCRE方式'\ d'並失敗。 :( – peter

4

我想使用MySQL,你會想是這樣的:

^[[:digit:]]{10}$ 
1

嘗試這種模式:

​​