oracle本身沒有字元分割函式,乙個字串分割後,要以乙個結果集的方式存放,所以需要配合table一起用,分割後的字串是乙個陣列,在oracle中,可以先按如下,建立乙個型別,該型別就是split裡要返回的型別,如下:
create or replace type strsplit_type as table of varchar2(500);
建立好型別了,下面是split函式的實現,引用到上面的型別.
create or replace function str_split(p_value varchar2,
p_split varchar2 := ',')
return strsplit_type
pipelined is
v_idx integer;
v_str varchar2(500);
v_strs_last varchar2(4000) := p_value;
begin
loop
v_idx := instr(v_strs_last, p_split);
exit when v_idx = 0;
v_str := substr(v_strs_last, 1, v_idx - 1);
v_strs_last := substr(v_strs_last, v_idx + 1);
pipe row(v_str);
end loop;
pipe row(v_strs_last);
return;
end str_split;
查詢測試一下:
select distinct a.* from table(str_split('province_dcg,province_sa,province_an,province')) a
.
返回結果:
1 province_dcg
2 province_sa
3 province_an
4 province
搞定
Oracle split函式拆分
sql 建立需要劃分的字串 with t1 as select one,two,three,four,five,six,seven,eight,nine,zero as source string from dual 統計字串中子串的個數,用 來劃分子串 t2 as select regexp co...
halcon粘連字元分割 粘連字元分割初探
學習驗證碼快乙個星期了,終於把樣本集切出來了,現在問題是如何切粘連字元,現在將自己的學習過程記錄下來 第一部分 我們知道,對於不黏連的字元,直接用掃瞄線分割法就可以,就是看哪乙個豎條上沒有文字畫素,則這個豎條就是兩個字元間的空白部分 當然,對於不黏連的字元,cfs演算法效果也很好,它主要是利用連通域...
字元分割函式
1.function split split str string line str string tstrings 2.字串分割 分割用字元 原始字串,3.var 4.posi integer 5.str tstringlist 6.l str string 7.begin 8.str tstri...