1

列のあるテーブルがあります

DETAIL         VARCHAR2(4000)  

DETAIL列に格納されているサンプルデータの1つは

<![CDATA[<DIV STYLE="text-align:LEFT;"><SPAN STYLE="letter-spacing:0px;color:#000000;font-size:10px;font-family:'Verdana';">Value to be extract</SPAN></DIV>]]>

SQL 選択クエリでテキストを抽出する方法はありますか?

4

3 に答える 3

3

これを行う 1 つの方法を次に示しますが、形式は上記のままにしておく必要があります。

SELECT XMLTYPE(REPLACE(REPLACE(DETAIL,'<![CDATA[',''),']]>','')).EXTRACT('/DIV/SPAN/text()').GETSTRINGVAL() 
FROM yourtable

SQL フィドルのデモ

基本的に、これは詳細列を html に変換し (cdata 情報を削除)、getstringval特定のタグ間の値を返すために使用します。

http://docs.oracle.com/cd/B12037_01/appdev.101/b10790/xdb04cre.htm#i1024803

于 2013-03-22T03:23:46.900 に答える
0
regexp_substr(detail, '>([^<]+)<', 1, 1, '', 1)

フィドル- sgeddes のおかげで

于 2013-03-22T05:44:01.850 に答える