加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

sql – 如何在oracle中将csv转换为表

发布时间:2020-05-24 12:28:02 所属栏目:MsSql 来源:互联网
导读:在csv值中传递时,如何创建以表格格式返回结果的包. select * from table(schema.mypackage.myfunction(one, two, three)) 应该回来 onetwothree 我从ask tom尝试了一些东西,但这只适用于sql类型. 我正在使用oracle 11g.内置有什么东西吗? 以下作品 将其调用

在csv值中传递时,如何创建以表格格式返回结果的包.

select * from table(schema.mypackage.myfunction('one,two,three'))

应该回来

one
two
three

我从ask tom尝试了一些东西,但这只适用于sql类型.

我正在使用oracle 11g.内置有什么东西吗?

解决方法

以下作品
将其调用为
select * from table(splitter(‘a,b,c,d’))
create or replace function splitter(p_str in varchar2) return  sys.odcivarchar2list
is
v_tab sys.odcivarchar2list:=new sys.odcivarchar2list();
begin
with cte as (select level  ind from dual
connect by 
level <=regexp_count(p_str,',') +1
)
select regexp_substr(p_str,'[^,]+',1,ind)
bulk collect into v_tab
from cte;
return v_tab;
end;
/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读