日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle拆分字符串函数与执行调用

發布時間:2024/4/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle拆分字符串函数与执行调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

本函數可以將“目標字符串”以“指定字符串”進行拆分,并通過表結構返回結果。代碼如下:

CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000); CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)RETURN str_split PIPELINED ASv_length NUMBER := LENGTH(p_string);v_start NUMBER := 1;v_index NUMBER; BEGINWHILE(v_start <= v_length)LOOPv_index := INSTR(p_string, p_delimiter, v_start);IF v_index = 0THENPIPE ROW(SUBSTR(p_string, v_start));v_start := v_length + 1;ELSEPIPE ROW(SUBSTR(p_string, v_start, v_index - v_start));v_start := v_index + 1;END IF;END LOOP;RETURN; END splitstr;

?

創建完畢后,我們來測試一下,例如執行如下SQL:

select * from table(splitstr('Hello,Cnblogs!',','));

?

其輸出結果為一個兩行的表,如下圖:

?

將行轉為列顯示:

select a.column_value v1,b.column_value v2 from (select * from (select rownum rn,t.* from table(splitstr('Hello,Cnblogs!',',')) t)) a, (select * from (select rownum rn,t.* from table(splitstr('Hello,Cnblogs!',',')) t)) b where a.rn=1 and b.rn=2

?

如圖:

?

實際SQL應用:

select FID from Ct_Ht_Maincontract where FID in (select a.column_value fid from (select * from (select * from table(splitstr('++4uu0vtQFyNPvT+pYq5kiOVzh4=,++dn+T66RsuI85VIAGfkcyOVzh4=',',')) t)) a )

?

轉載于:https://www.cnblogs.com/sunhaoyu/p/8398093.html

總結

以上是生活随笔為你收集整理的Oracle拆分字符串函数与执行调用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。