从Oracle中的行字符串检索唯一值

hjqgdpho  于 2023-04-05  发布在  Oracle
关注(0)|答案(1)|浏览(143)

我在URL列中得到结果,如下所示

tracking=http://test-trk-801v.pii-dmz.ext:8080/95078&analysis=http://test-trk-801v.pii-dmz.ext:8080/95078-analysis/index.jsp
tracking=http://localtest-mi-track16.localperc.cloud:11080/232819&analysis=http://localtest-mi-anlys19.localperc.cloud:9080/232819-analysis/index.jsp
tracking=http://test-trk-002.pii-dmz.ext:10088/77971
tracking=http://test-trk-003.pii-dmz.ext:14080/92542
tracking=http://localtest-mi-track04.localperc.cloud:15080/203396&dentalanalysis=http://localtest-mi-anlys12.localperc.cloud:8080/203396-analysis-dental/index.jsp&analysis=http://localtest-mi-anlys03.localperc.cloud:12080/203396-analysis/index.jsp
tracking=http://localtest-mi-track03.localperc.cloud:14080/202161&bonescananalysis=http://localtest-mi-anlys03.localperc.cloud:10088/202161-analysis-bonescan/index.jsp&analysis=http://localtest-mi-anlys03.localperc.cloud:10088/202161-analysis/index.jsp
tracking=http://test-trk-002.pii-dmz.ext:10088/7732
tracking=http://test-trk-003.pii-dmz.ext:14080/92902
tracking=http://localtest-mi-track16.localperc.cloud:11080/236978&analysis=http://localtest-mi-anlys19.localperc.cloud:9080/236978-analysis/index.jsp

这个模式的结果太多了,我想从第一部分检索唯一的trk-track值,就像从tracking=http://test-trk-801v.pii-dmz.ext:8080检索值trk-801v一样,从tracking=http://localtest-mi-track16.localperc.cloud:11080检索track16
比如我有trk-801v,trk-002,trk-003 unique,类似地track16, track04 unique。

ruyhziif

ruyhziif1#

您可以使用REGEXP_SUBSTR来执行以下操作:

select distinct regexp_substr(my_column, 'trk-\d+\w+|track\d+') from my_table

此查询将从列中提取第一个匹配regex trk-\d+\w+|track\d+的子字符串,并将其返回。如果没有匹配,则将返回NULL
演示可以看到here

相关问题