正则表达式匹配oracle中的第一个字符和最后一个字符

时间:2016-05-17 14:54:50

标签: oracle

我有一个包含结构的列的表: 表名:re_result

res_id 
--------------
PSI8765450
PSIRRRRTY781
ABCD000001

我想获取以PSI开头并以1结尾的值。我的预期输出是PSIRRRRTY781。

我正在使用查询

Select * from re_result
Where regexp_like(^PSI*1)

但我没有得到输出。我得到了PSIRRRRTY781和ABCD000001。

Plz帮助

2 个答案:

答案 0 :(得分:4)

您不需要正则表达式;更简单的LIKE可以完成工作:

  select res_id
    from re_result
    where res_id like 'PSI%1'

使用regexp可以完成同样的事情:

where regexp_like(res_id, '^PSI(.*)1$')

这匹配字符串开头的'PSI''1'的最后一个字符,就在字符串结尾($)之前。 Here您在Oracle中的regexp上找到更多内容

答案 1 :(得分:-2)

处理查询的另一种方法。

SELECT res_id FROM re_result WHERE UPPER(res_id) like UPPER('PSI%1')