首页 > 解决方案 > 使用 REGEXP_SUBSTR 获取子字符串

问题描述

我需要使用regexp_substr,但是我不能正常使用

我有带有数字的列(l.id),例如:

1234567891123!123  EXPECTED OUTPUT: 1234567891123
123456789112!123   EXPECTED OUTPUT: 123456789112
12345678911!123    EXPECTED OUTPUT: 12345678911
1234567891123!123  EXPECTED OUTPUT: 1234567891123

我想在感叹号 ( !)之前使用 regexp_substr

SELECT REGEXP_SUBSTR(l.id,'[%!]',1,13)  from l.table

可以吗?

标签: sqloracleregexp-replace

解决方案


您想删除感叹号和它看起来的所有后续字符。那很简单:

select regexp_replace(id, '!.*', '') from mytable;

推荐阅读