instr和substr存儲(chǔ)過(guò)程,分析內(nèi)部大對(duì)象的內(nèi)容
instr函數(shù)
instr函數(shù)用于從指定的位置開(kāi)始,從大型對(duì)象中查找第N個(gè)與模式匹配的字符串。
用于查找內(nèi)部大對(duì)象中的字符串的instr函數(shù)語(yǔ)法如下:
dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer := 1; nth in integer := 1) return integer; dbms_lob.instr( lob_loc in clob character set any_cs, pattern in varchar2 character set lob_loc%charset, offset in integer:=1, nth in integer := 1) return integer;
lob_loc為內(nèi)部大對(duì)象的定位器
pattern是要匹配的模式
offset是要搜索匹配文件的開(kāi)始位置
nth是要進(jìn)行的第N次匹配
substr函數(shù)
substr函數(shù)用于從大對(duì)象中抽取指定數(shù)碼的字節(jié)。當(dāng)我們只需要大對(duì)象的一部分時(shí),通常使用這個(gè)函數(shù)。
操作內(nèi)部大對(duì)象的substr函數(shù)語(yǔ)法如下:
dbms_lob.substr( lob_loc in blob, amount in integer := 32767, offset in integer := 1) return raw; dbms_lob.substr( lob_loc in clob character set any_cs, amount in integer := 32767, offset in integer := 1) return varchar2 character set lob_loc%charset;
其中各個(gè)參數(shù)的含義如下:
lob_loc是substr函數(shù)要操作的大型對(duì)象定位器
amount是要從大型對(duì)象中抽取的字節(jié)數(shù)
offset是指從大型對(duì)象的什么位置開(kāi)始抽取數(shù)據(jù)。
如果從大型對(duì)象中抽取數(shù)據(jù)成功,則這個(gè)函數(shù)返回一個(gè) raw 值。如果有一下情況,則返回null:
1 任何輸入?yún)?shù)尾null
2 amount 1
3 amount > 32767
4 offset 1
5 offset > LOBMAXSIZE
示例如下:
declare source_lob clob; pattern varchar2(6) := 'Oracle'; start_location integer := 1; nth_occurrence integer := 1; position integer; buffer varchar2(100); begin select clob_locator into source_lob from mylobs where lob_index = 4; position := dbms_lob.instr(source_lob, pattern, start_location, nth_occurrence); dbms_output.put_line('The first occurrence starts at position:' || position); nth_occurrence := 2; select clob_locator into source_lob from mylobs where lob_index = 4; position := dbms_lob.instr(source_lob, pattern, start_location, nth_occurrence); dbms_output.put_line('The first occurrence starts at position:' || position); select clob_locator into source_lob from mylobs where lob_index = 5; buffer := dbms_lob.substr(source_lob, 9, start_location); dbms_output.put_line('The substring extracted is: ' || buffer); end; / The first occurrence starts at position:8 The first occurrence starts at position:24 The substring extracted is: Oracle 9i
PL/SQL 過(guò)程已成功完成。
以上所述是小編給大家介紹的Oracle中instr和substr存儲(chǔ)過(guò)程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
標(biāo)簽:固原 開(kāi)封 承德 青島 武漢 周口 甘肅 和田
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle中instr和substr存儲(chǔ)過(guò)程詳解》,本文關(guān)鍵詞 Oracle,中,instr,和,substr,存儲(chǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。