仅在 : 在 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.
我在 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.