我在使用 Oracle 11 中的正则表达式检索列的正确数据时遇到问题。
该列的类型为 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 开头的记录。
我确信我在正则表达式上犯了一些错误,但我无法找到它。
一些帮助将不胜感激。
附言
我知道我可以使用一系列“ or column_name like...
”,但我认为使用正则表达式会是一个更好的解决方案