2017-02-09 102 views
0

請指點如何從以下線路如何提取特定字符串

<p n="name">Rahul</P> 
<p n="job">actor</P> 
<p n="code">act2345</P> 
<p n="age">25</P> 
<p n="home">odisha</P> 
+0

你能介紹更多的細節問題?按照事實,具有硬編碼值的子字符串函數將是正確的(但不是有用的)。 –

+0

嘿@AdrianWragg,其實我有上面提到的數據在一列內說「biodata」。現在我的工作是使用sql查詢提取所有的代碼即「act2345」。由於長度不同,我們無法對位置進行硬編碼。 – user3928562

+0

使用regexp_substr – PeterRing

回答

1

如果我理解正確提取「act2345」,你需要值是內部<p n="code">標籤。

如果是的話,這應該工作:

SELECT REGEXP_REPLACE('<p n="name">Rahul</P> 
<p n="job">actor</P> 
<p n="code">act2345</P> 
<p n="age">25</P> 
<p n="home">odisha</P>', '.*"code">|</P>.*', '', 1, 0, 'n') FROM DUAL; 
+0

感謝buddy它的工作! – user3928562