我有中獲取正確的數據列的麻煩,使用正則表達式在甲骨文11「正則表達式樣」 Oracle中返回結果不準確
列是varchar類型,看起來像這樣:
2216xxxx
20xxxx
2355xxxx
2128xxxx
213xxxx
692xxxx
我使用的查詢的該部分:
regexp_like (column_name, '^(?216*|?213*|?218*|?212*|?249*|?20*)')
以濾除與20,216,213,218,與這些前綴開始212和249,或者開始的行,之前是2(例如。 220,2216,2213等),但在結果中,我也獲得了以2355開始的記錄。
我確信我對正則表達式犯了一些錯誤,但我無法找到它。
一些幫助將不勝感激。
P.S
我知道我可以用一系列的「or column_name like...
」去,但我認爲使用regexs會是一個更好的解決方案
''表示? 「0或1的一個組或字符 - 嘗試刪除所有'?',看看會發生什麼 –
@MacroMan我試圖刪除它,但我仍然從2355開始獲取這些記錄。當我第一次添加?時,我想包括2,在某些情況下碰巧是這樣,而在另一些情況下則不是...... – gm08