oraclesplit字符分割函数
oracle split 字符分割函数
博客分类:
oracle本⾝没有字符分割函数,⼀个字符串分割后,要以⼀个结果集的⽅式存放,所以需要配合table⼀起⽤,分割后的字符串是⼀个数组,在oracle中,可以先按如下,创建⼀个类型,该类型就是split⾥要返回的类型,如下:
Java代码
1. create or replace type strsplit_type as table of varchar2(500);
创建好类型了,下⾯是split函数的实现,引⽤到上⾯的类型.
java中split的用法Java代码
1. create or replace function str_split(p_value varchar2,
2. p_split varchar2 := ',')
3.
4. return strsplit_type
5. pipelined is
6. v_idx integer;
7. v_str varchar2(500);
8. v_strs_last varchar2(4000) := p_value;
9.
10. begin
11. loop
12. v_idx := instr(v_strs_last, p_split);
13. exit when v_idx = 0;
14. v_str := substr(v_strs_last, 1, v_idx - 1);
15. v_strs_last := substr(v_strs_last, v_idx + 1);
16. pipe row(v_str);
17. end loop;
18. pipe row(v_strs_last);
19. return;
20.
21. end str_split;
查询测试⼀下:
Java代码
1. select distinct a.* from table(str_split('PROVINCE_DCG,PROVINCE_SA,PROVINCE_AN,PROVINCE')) a
.
返回结果:
1 PROVINCE_DCG
2 PROVINCE_SA
3 PROVINCE_AN
4 PROVINCE
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论