請問Oracle BLob 的問題 ? |
尚未結案
|
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
Demo PL/SQL :
create table aaa (c1 varchar2(10), c2 clob); insert into aaa values('111','1234567890abcdefg'); commit; select c1 from aaa where dbms_lob.instr(c2,'abc')>0; C1 ---------- 111dbms_lob.instr description : This function returns the matching position of the nth occurrence of the pattern in the LOB, starting from the offset you specify. dbms_lob.instr Syntax : 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; 發表人 - Mickey 於 2003/04/30 16:30:36 |
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
謝謝Mickey大大的回覆
可是我問的不清楚
我是想要回傳clob裡面的值
譬如說 abc.txt 的檔案存入clob 中如
-------------abc.txt--------------
hjjhhokh1111 jkguuft76885 ssgts
yuyu8888 fghfghhgnj888 45tgfjh6
drd567876 dgdytduty yjgyjuyggyik
123456abcde gkghjgj rtyryeyey
---------------------------------- 然後搜尋123456abcde
回傳123456abcde gkghjgj rtyryeyey 謝謝
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
我只是提供方法而已, 細部的設計需要自己來,
完成程式的成就感, 感覺是很棒的喔...
1. 取得 '123456abcde' 於 clob 的位置. 2. 取得 前一個換行 chr(13)||chr(10) 位置. (可運用dbms_lob.instr 第四個參數, 然後用 while loop 或 repeat...until loop 取; 順便取在第幾行) 3. 取得 下一個換行 chr(13)||chr(10) 位置. 4. 運用 dbms_lob.substr 取出那一行文字. (注意 : 該行文字數 若超過 32767 bytes 則須分次取). dbms_lob.substr 原型如下 : 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; |
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |