写一个对clob按分隔符分割的函数
来源:互联网 发布:知天命代指多少岁 编辑:程序博客网 时间:2024/04/30 09:45
来至 http://blog.chinaunix.net/uid-7655508-id-3620015.html
对lob处理还不太熟悉,看网上有人问就写了个,lob类型处理起来的确很麻烦
SQL> create or replace type varchar2_tt as table
2 of varchar2 (1000);
3 /
Type created
SQL>
SQL> create or replace
2 function in_list( p_string in clob ,p_delimiter in varchar2 default ',',len in out number)
3 return varchar2_tt
4
5 as
6
7 l_data varchar2_tt := varchar2_tt();
8 n number;
9 l_string clob:=p_string ;
10 l_delimiter clob:=to_clob(p_delimiter);
11 v_str varchar2(32767);
12 begin
13 dbms_lob.append(dest_lob => l_string,src_lob =>l_delimiter) ;
14 loop
15 n := dbms_lob.instr(lob_loc => l_string,pattern => l_delimiter);
16 v_str:= trim(dbms_lob.substr(lob_loc => l_string,amount => n-1,offset => 1));
17 exit when v_str is null;
18 l_data.extend;
19 l_data(l_data.count) := v_str ;
20 len := length( l_data(l_data.count))+dbms_lob.getlength(l_delimiter)+len;
21 dbms_lob.erase(lob_loc => l_string,amount => len);
22 end loop;
23 return l_data;
24 end;
25 /
Function created
SQL> declare
2 lens number default 0;
3 l_data varchar2_tt := varchar2_tt();
4 l_string clob:=to_clob('A,AA,AAA,AAAAAB,BB,BBB,BBBB');
5 begin
6 l_data := in_list(p_string => l_string,len => lens);
7 for i in l_data.first .. l_data.last loop
8 dbms_output.put_line(l_data(i));
9 end loop;
10 end;
11 /
A
AA
AAA
AAAAAB
BB
BBB
BBBB
PL/SQL procedure successfully completed
SQL>
SQL> declare
2 lens number default 0;
3 l_data varchar2_tt := varchar2_tt();
4 l_string clob:=to_clob('A,AA,AAA,AAAAA@B,BB,BBB,BBBB@');
5 begin
6 l_data := in_list(p_string => l_string,p_delimiter =>'@',len => lens);
7 for i in l_data.first .. l_data.last loop
8 dbms_output.put_line(l_data(i));
9 end loop;
10 end;
11
12 /
A,AA,AAA,AAAAA
B,BB,BBB,BBBB
PL/SQL procedure successfully completed
0 0
- 写一个对clob按分隔符分割的函数
- 写一个函数讲一个字符串使用特定的分隔符分割后输出
- 按分隔符分割字符串函数
- 写一个函数,用来把一个字符串用指定的字符作为分隔符分割成若干个子串输出 | 写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址
- 将一个制定分隔符的字符串进行分割
- C/C++如何把一个特定分隔符分割的字符串划分为一个字符串数组,strtok(char *,char*)分割函数
- Java 字符串分割函数 split() 在分割以“.”为分隔符时出现的问题
- MFC下写的一个字符串分割的Split函数
- substr 和 find函数实现自己的字符串分割函数(以指定分隔符分割字符串,分隔符可为字符串)
- 一个分割字符串的函数,自定义分割符。
- strtok两个连续分隔符当作一个提取的问题,字符分割线程安全性
- 把一个字符串用指定的字符作为分隔符分割成若干个子串输出
- 实现一个以空白符分隔字符串的split函数
- 一个用于处理分隔","的函数tf_split_str
- MYSQL创建一个 “将一个字符串以某个分隔符分隔得到多个值” 的函数,并为多个值加上序号
- 一个分隔函数
- 写的一个简单的分割字符串的函数(附原码)
- 写的一个简单的分割字符串的函数(附原码)
- 怎样设置Myeclipse的jsp页面为默认utf-8编码
- 【产品体验】职业社交产品“脉脉”体验
- How to GROUD?
- ServletContext总结
- iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
- 写一个对clob按分隔符分割的函数
- 将SQL Server 2000数据导入到MySQL 5.5的方法
- JVM执行引擎
- linux c socket编程
- 黑马程序员_Java-System类小结
- 程序员该如何规划自己的人生
- 类加载管理资源、配置文件
- velocity乱码
- 11.2 提高程序的效率