博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle小应用
阅读量:6758 次
发布时间:2019-06-26

本文共 1069 字,大约阅读时间需要 3 分钟。

  hot3.png

先声明:转载的博客:

解读是自己做的

创建类

CREATE OR REPLACE TYPE mytable AS TABLE OF varchar2(500);/

创建函数

CREATE OR REPLACE FUNCTION SEND_SPLIT (src VARCHAR2, delimiter varchar2)   RETURN mytable IS   psrc VARCHAR2(500);   a mytable := mytable();   i NUMBER := 1;   j NUMBER := 1; BEGIN   psrc := RTrim(LTrim(src, delimiter), delimiter);   LOOP     i := InStr(psrc, delimiter, j);     --Dbms_Output.put_line(i);     IF i>0 THEN       a.extend;       a(a.Count) := Trim(SubStr(psrc, j, i-j));       j := i+1;       --Dbms_Output.put_line(a(a.Count-1));     END IF;     EXIT WHEN i=0;   END LOOP;   IF j <= Length(psrc) THEN     a.extend;     a(a.Count) := Trim(SubStr(psrc, j, Length(psrc)+1-j));   END IF;   RETURN a; END; /

测试:

select ci_id,wm_concat(stu_name) from(SELECT s.stu_name, c.ci_id FROM pm_stu s, pm_ci c WHERE stu_id in (SELECT * FROM TABLE(CAST(SEND_SPLIT(c.stu_ids, ',')AS mytable)))order by stu_id)group by ci_id/

结果:

CI_ID                WM_CONCAT(STU_NAME)

--------------- ------------------------------------
1                    张三,李四,赵六,王五
2                    张三,赵六

函数解读:

 

转载于:https://my.oschina.net/xiaogezi/blog/670371

你可能感兴趣的文章
Hadoop机架感知原理
查看>>
Android面试题
查看>>
十一、第三方的组件导入和页面跳转传值
查看>>
LomBok简化POJO
查看>>
LLVM与Clang的一些事儿
查看>>
lolSix周年活动页面
查看>>
Android流言终结者--xposed生效需要root吗??不用!!
查看>>
Python3读取深度学习CIFAR-10数据集出现的若干问题解决
查看>>
Android 异步加载——AsyncTask详谈
查看>>
JVM系列之实战内存溢出异常
查看>>
ES6定义变量
查看>>
我的前端经历是这样的。。。
查看>>
说说 Vue.js 中的条件渲染指令
查看>>
Java数据结构与算法(3) 寻找中序遍历时的下一个结点
查看>>
详解iOS之ARkit为何碾压对手(一)
查看>>
聊聊Spring Reactor反应式编程
查看>>
优化关键渲染路径
查看>>
部署小说api服务到腾讯云
查看>>
完美兼容React-Native View缩放和左右滑动
查看>>
Swift集合类型操作指南:Map、Filter、Reduce
查看>>