仅在 : 在 Oracle SQL 中第一次出现后才获取值的子字符串

Substring to Get value only after first occurrence of : in Oracle SQL

我在 Oracle table 列中有以下格式的数据:

ABC:XYZ
ABC:MNO:LMO
ABC:MNO:LRT:RNO
PQR:TYU:MNO

我想要以下格式的数据,即在 ::

第一次出现后有不同的第一个字符串
 XYZ
 MNO
 TYU

我可以使用以下查询获取第一条记录的值

 select REGEXP_SUBSTR('ABC:XYZ','[^:]+$') from dual

但是如果列值中有多个 :,我无法为其他人获取它。

任何指导都会很棒。

您还可以使用两个参数:

select REGEXP_SUBSTR('ABC:XYZ', '[^:]+', 1, 2)
from dual;

Here 是一个 db<>fiddle.