如何删除 - 从右到左读取字符串值时
How to remove - when reading string values right to left
我正在根据现有值中最右边的值创建新列
ABP-1-3-3
CBP-1-10-12-14
我能够从左侧读取的新列的预期值,我得到的值
-3
14
enter image description here
如何使用正则表达式替换来修改我的以下代码以删除任何 - ?
SUBSTR(TEST, -2, INSTR(TEST, '-')-1) AS TEST2,
试试这个:
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。这是一个整洁的网站。输入您的正则表达式字符串,它会 "translate" 将其描述为人类可读的描述。
我正在根据现有值中最右边的值创建新列 ABP-1-3-3 CBP-1-10-12-14
我能够从左侧读取的新列的预期值,我得到的值
-3 14
enter image description here
如何使用正则表达式替换来修改我的以下代码以删除任何 - ?
SUBSTR(TEST, -2, INSTR(TEST, '-')-1) AS TEST2,
试试这个:
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。这是一个整洁的网站。输入您的正则表达式字符串,它会 "translate" 将其描述为人类可读的描述。