模拟java的split函数,分割字符串,类似于java的split方法

Posted 追逐繁星[]~( ̄▽ ̄)~*)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟java的split函数,分割字符串,类似于java的split方法相关的知识,希望对你有一定的参考价值。

  本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处

  http://www.cnblogs.com/king-xg/p/6362037.html

/*自定义oracle的分割函数*/
/*定义一个type,用户接收返回的数据集合类型*/
create or replace type splitType as table of varchar2(4000);

/*
参数1: 被分割的字符串
参数2:分割字符串,默认是英文逗号
*/
create or replace function split_str(str varchar2, split_char varchar2:=\',\')
return splitType pipelined
is
idx number(4);
orgin_str varchar2(1000):=str;
temp_str varchar2(1000);
split_length number:=0;
begin
-- 判断
select nvl(length(split_char),0) into split_length from dual;
if  split_length=0 then
  pipe row(str);
  return;
end if;

select nvl(length(str),0) into split_length from dual;
if  split_length=0 then
  pipe row(str);
  return;
end if;

idx:=instr(orgin_str,split_char);
loop
exit when idx=0;
temp_str:=substr(orgin_str,1,idx-1);
pipe row(temp_str);
orgin_str:=substr(orgin_str,idx+1);
idx:=instr(orgin_str,split_char);
end loop;
pipe row(orgin_str);
return;
end;

 

/**测试**/

select * from table(split_str(\'king,arise\',\',\'));

 

以上是关于模拟java的split函数,分割字符串,类似于java的split方法的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server自定义字符串分割函数——Split

SQL Server自定义字符串分割函数——Split

[M模拟] lc165. 比较版本号(字符串分割+split函数+水题)

[M模拟] lc165. 比较版本号(字符串分割+split函数+水题)

Java 以空格分割字符串

Java中Split函数的用法技巧