首页 > 解决方案 > 如何删除 - 从右到左读取字符串值时

问题描述

我正在根据现有值 ABP-1-3-3 CBP-1-10-12-14 中最右边的值创建新列

我能够从左侧读取的新列的预期值,我得到的值

-3 14

在此处输入图像描述

如何使用 regexp replace 修改下面的代码以删除任何 - ?

SUBSTR(TEST, -2, INSTR(TEST, '-')-1) 作为 TEST2,

标签: oracle11gregexp-replace

解决方案


试试这个:

with test as 
( select 'CBP-1-10-12-14' v1 from dual
  union 
  select 'ABP-1-3-3' v1 from dual
)
select regexp_substr( v1 , '[0-9]*$' )
from test

另请查看https://regex101.com/r/bS7hF5/1。这是一个整洁的网站。放入您的正则表达式字符串,它会将其“翻译”为人类可读的描述。


推荐阅读