新聞中心
sql怎樣定位一個(gè)字符所在的位置?
mysql:positon(substr,str)返回子串substr在str中第一次出現(xiàn)的位置oracle:instr(c1,c2,I,J)c1:被搜索的子串c2:希望搜索的字符串I:搜索開始位置,默認(rèn)為1J:第幾次出現(xiàn),默認(rèn)為1sqlserver:charindex(p1,p2,p3)返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置P1:要找尋的子串p2:被搜索的字符串p3:搜索開始位置不知道你用的是什么數(shù)據(jù)庫,其它數(shù)據(jù)庫我不熟,你自己在網(wǎng)上找找資料吧

如何從ORACLE中讀取CLOB類型的數(shù)據(jù)?
select to_char(clob字段) from 表A,就可以看到clob字段的數(shù)據(jù)。 在Oracle中,可以使用instr函數(shù)對(duì)某個(gè)字符串進(jìn)行判斷,判斷其是否含有指定的字符。其語法為: instr(sourceString,destString,start,appearPosition。
其中sourceString代表源字符串; destString代表想聰源字符串中查找的子串; start代表查找的開始位置,該參數(shù)可選的,默認(rèn)為1; appearPosition代表想從源字符中查找出第幾次出現(xiàn)的destString,該參數(shù)也是可選的,默認(rèn)為1; 如果start的值為負(fù)數(shù),那么代表從右往左進(jìn)行查找。 返回值為:查找到的字符串的位置。
這樣讀?。?/p>
declare /*聲明PL/SQL中程序塊中的變量info_var,用戶存放查詢到的info列的數(shù)據(jù),其類型必須和表中的字段類型一致*/ info_var clob; --查詢數(shù)據(jù)長度 amount integer; --偏移量,查詢起始位置 offset integer; --需要打印的字節(jié),存儲(chǔ)變量 info_output varchar2(1000); begin --查詢要打印的字段信息并賦值給info_var select info into info_var from t_clob where id = 1; --查詢100長度 amount :=100; --從第一個(gè)開始 offset :=1; --用dbms_lob程序包讀取數(shù)據(jù) dbms_lob.read(info_var,amount,offset,info_var); --用dbms_lob程序包打印讀取得數(shù)據(jù)info_var dbms_output.put_line(info_var); end; /
到此,以上就是小編對(duì)于oracle中instr的用法的問題就介紹到這了,希望這2點(diǎn)解答對(duì)大家有用。
當(dāng)前題目:sql怎樣定位一個(gè)字符所在的位置?(oracleinstr的用法有哪些)
鏈接URL:http://fisionsoft.com.cn/article/dhcggsd.html


咨詢
建站咨詢
