我有一列以“100-02-000-020-000-99801-000-000000-000000”格式获取值
INTERNAL_ADDRESS_LINE
-------------------------------------------
100-02-010-020-000-99801-000-000000-000000
150-01-020-000-210-99802-000-000000-000000
150-01-030-000-230-99802-000-000000-000000
我要检索第三个值(在第二个值之后) -
)和第四个值(第三个之后 -
),例如:
OUTPUT_COL COL2
------------------
010 020
020 000
030 000
如何做到这一点?
2条答案
按热度按时间rnmwe5a21#
由于字符串的格式是固定的,我建议使用字符串函数,因为它们可以完成任务,而且比正则表达式更有效:
db小提琴演示:
4dc9hkyq2#
你可以用
regexp_substr()
:这是一把小提琴。
注意,这假设所有非破折号字符都是数字。更通用的版本只使用分隔符: