加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:47:17 所属栏目: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;
/

(编辑:李大同)

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

    推荐文章
      热点阅读