我在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
唯一,同样track16, track04
唯一。
您可以使用REGEXP_SUBSTR
:
select distinct regexp_substr(my_column, 'trk-d+w+|trackd+') from my_table
这个查询将从您的列中提取第一个匹配regextrk-d+w+|trackd+
的子字符串,并返回它。如果没有匹配,它将返回NULL
Demo可以在这里看到。