如何在Oracle中返回varchar

如何在Oracle中返回varchar,oracle,Oracle,我有这个记录[sip:+3xxxxxxxxx@xxxx.xx;用户=电话;电话:+3xxxxxxxx;],[电话:+3xxxxxxxxx;cpc=普通]。 我想把varchar从tel:返回到;。我尝试使用函数**SUBSTR**,但是,由于位置不固定,所有记录都不会返回准确的记录。Аlso,类似REGEXP_的函数返回我的完整记录,而不仅仅是我需要的部分。您能告诉我解决这个问题的最佳方法是什么吗。使用REGEXP\u SUBSTR我们可以尝试: 选择REGEXP_SUBSTRcol,“电话:[

我有这个记录[sip:+3xxxxxxxxx@xxxx.xx;用户=电话;电话:+3xxxxxxxx;],[电话:+3xxxxxxxxx;cpc=普通]。 我想把varchar从tel:返回到;。我尝试使用函数**SUBSTR**,但是,由于位置不固定,所有记录都不会返回准确的记录。Аlso,类似REGEXP_的函数返回我的完整记录,而不仅仅是我需要的部分。您能告诉我解决这个问题的最佳方法是什么吗。

使用REGEXP\u SUBSTR我们可以尝试:

选择REGEXP_SUBSTRcol,“电话:[^;]+;” 从你的桌子上; 数据:

使用REGEXP\u SUBSTR,我们可以尝试:

选择REGEXP_SUBSTRcol,“电话:[^;]+;” 从你的桌子上; 数据:

WITH yourTable AS (
    SELECT '[sip:+3xxxxxxxxx@xxxx.xx;user=phone; tel:+3xxxxxxxxx;], [tel:+3xxxxxxxxxx;cpc=ordinary]' AS col FROM dual
)