數字我有表列pnum_s
僅獲得使用正則表達式
我需要得到的只是那行,其值在列pnum_s
正是10個符號,所有這些符號僅數字
什麼查詢必須寫這個?
我想
SELECT * FROM mytable WHERE pnum_s REGEXP '^\d+$'
但這不是返回0行
數字我有表列pnum_s
僅獲得使用正則表達式
我需要得到的只是那行,其值在列pnum_s
正是10個符號,所有這些符號僅數字
什麼查詢必須寫這個?
我想
SELECT * FROM mytable WHERE pnum_s REGEXP '^\d+$'
但這不是返回0行
我想使用MySQL,你會想是這樣的:
^[[:digit:]]{10}$
嘗試這種模式:
查看參考頁面。
http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp
你所要尋找的是這樣的:
SELECT * FROM mytable WHERE pnum_s REGEXP '^[[:digit:]]{10}$';
'REGEXP '\ d {10}''? –
你需要逃避'\ d'嗎? –
可能地,我不熟悉MySQL如何執行Regular Expressions,但根據(http://www.regular-expressions.info/mysql.html),反斜槓需要轉義。 OP問題可能是你應該使用'\ $'而不是'$'。 –