我的oracle sql正则表达不起作用

时间:2014-03-07 18:09:33

标签: regex oracle-sqldeveloper

我在oracle sql中尝试regexp_replace函数。这是我的表格列中的示例字符串。

CV35 0DB    AC
W2 4PL      AC
OX17 7HP    AC
DE55 4RF    AC
GU13 9PU    AC
W1D 7EG     AC
CR8 2NE     AC

我想在开头提取一个字母并跟随一个数字。所以根据我的方法只有

W2 4PL      AC
W1D 7EG     AC
必须保留

。我应该强调,这个字符串中存在的数字也是文本。那是他们不是数字。在这里我尝试过:

select distinct aa.ny,regexp_replace(aa.ny,'^[A-Z]{1}[0-9]') from  wos_source.address aa where upper(nu)='ENGLAND';

根据此查询,它只返回:

72046       AP  72046       AP

无论存在哪个角色,似乎都需要一切......

提前感谢...

1 个答案:

答案 0 :(得分:0)

我认为你需要在where子句中使用REGEXP_LIKE:

select distinct aa.ny from  wos_source.address aa
where REGEXP_LIKE (aa.ny, 'pattern')
and upper(nu)='ENGLAND';