我有一个带数据的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();">
答案 0 :(得分:6)
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或任何其他函数使用输入字符串执行您想要的操作
答案 1 :(得分:1)
细分你的问题。您想从CLOB中提取包含特定子字符串的一行文本。我可以想到对您的要求的两种可能的解释:
选项1。
onblur
。如果确实如此,那么您就找到了自己的专线。选项2。
如果你实际上不是指行,但你想要<script>...</script>
html片段,你可以使用类似的逻辑:
<script>
。</script>
的下一次出现。将子字符串从<script>
提取到</script>
。onblur
。如果找到,则返回子字符串。否则,找到下一个<script>
,请转到步骤2,冲洗,重复。