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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

oracle的split函数

發布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle的split函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PL/SQL 中沒有split函數,需要自己寫。

  代碼:

?

create?or?replace?type?type_split?as?table?of?varchar2(50);??--創建一個  type  ,如果為了使split函數具有通用性,請將其size?設大些。

--創建function

create?or?replace?function?split

(

???p_list?varchar2,

???p_sep?varchar2?:=?','

)??return?type_split?pipelined

?is

???l_idx??pls_integer;

???v_list??varchar2(50)?:=?p_list;

begin

???loop

??????l_idx?:=?instr(v_list,p_sep);

??????if?l_idx?>?0?then

??????????pipe?row(substr(v_list,1,l_idx-1));

??????????v_list?:=?substr(v_list,l_idx+length(p_sep));

??????else

??????????pipe?row(v_list);

??????????exit;

??????end?if;

???end?loop;

???return;

end?split;

測試:

?

SQL>?select?*?from?table(split('northsnow,塞北的雪',','));

COLUMN_VALUE

--------------------------------------------------

northsnow

塞北的雪

SQL>?


補充:
-----PIPELINED關鍵字是什么意思?
---- pipe row是什么意思?

pipelined聲名此function是pipe的,如果這么聲名了,就必須使用pipe row的方式把數據返回,常規函數最后的"return 變量",就變成了"return".

pipelined的function主要是為了提高效率,不用等所有的數據都處理完成了才返回客戶端,它是邊處理邊返回.適用于大數據量的交互.

轉載于:https://www.cnblogs.com/linbaoji/archive/2009/09/17/1568252.html

總結

以上是生活随笔為你收集整理的oracle的split函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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