データのあるCLOBがあります
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><static-content language-id="en_US"><![CDATA[<script type="text/javascript">
function change_case()
{
alert("here...");
document.form1.type.value=document.form1.type.value.toLowerCase();
}
</script>
<form name=form1 method=post action=''''>
<input type=text name=type value=''Enter USER ID'' onBlur="change_case();">
<input type=submit value=Submit> </form>
</form>]]></static-content></root>
この場合、onblur属性を持つ行を抽出したいと思います。
<input type=text name=type value=''Enter USER ID'' onblur="change_case();">
Tom Kyteは、SQLまたはPL/SQLコードのclobからvarchar2を取得する方法について説明します。
http://asktom.Oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:367980988799
また、varchar2がある場合は、SUBSTRまたはREGEXP_SUBSTR関数を使用して行を抽出できます。
http://docs.Oracle.com/cd/B14117_01/server.101/b10759/functions147.htm#i87066
http://docs.Oracle.com/cd/B14117_01/server.101/b10759/functions116.htm
SQLコードを使用する場合は、このリクエストを作成できます
select col1, col2, func1(dbms_lob.substr( t.col_clob, 4000, 1 )) from table1 t
また、PL/SQL関数「func1」では、SUBSTRまたはその他の関数を使用して入力文字列で必要な処理を実行できます
問題を細分化します。特定の部分文字列を含むテキスト行をCLOBから抽出したいとします。私はあなたの要件の2つの可能な解釈を考えることができます:
オプション1。
onblur
。もしそうなら、あなたはあなたのラインを見つけました。オプション2。
実際にはlineを意味するのではなく、<script>...</script>
htmlフラグメントが必要な場合は、同様のロジックを使用できます。
<script>
の最初の出現を検索します。</script>
を検索します。 <script>
から</script>
に部分文字列を抽出します。onblur
を検索します。見つかった場合は、部分文字列を返します。それ以外の場合は、<script>
の次の出現箇所を見つけ、手順2に進み、すすぎ、繰り返します。