ITPub博客

首页 > 数字化转型 > ERP > ORACLE PIPE ROW 将一个字符串分成多条记录

ORACLE PIPE ROW 将一个字符串分成多条记录

ERP 作者:chenshm329 时间:2017-03-25 10:41:45 0 删除 编辑

转载:http://blog.csdn.net/goodleiwei/article/details/11484991
  1. create or replace function row_split(var_str in string, var_split In String)  
  2.   return t_ret_table  
  3.   PIPELINED as  
  4.   var_tmp     varchar2(4000);  
  5.   var_element varchar2(4000);  
  6.   n_length    Number := length(var_split);  
  7. begin  
  8.   var_tmp := var_str;  
  9.   while instr(var_tmp, var_split) > 0 loop  
  10.     var_element := substr(var_tmp, 1, instr(var_tmp, var_split) - 1);  
  11.     var_tmp     := substr(var_tmp,  
  12.                           instr(var_tmp, var_split) + n_length,  
  13.                           length(var_tmp));  
  14.     pipe row(var_element);  
  15.   end loop;  
  16.   pipe row(var_tmp);  
  17.   return;  
  18. end row_split;

  1. select * from table(row_split(area_str, ',')) 
 

COLUMN_VALUE
1 111
2 222
3 333

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17087603/viewspace-2136055/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-09

  • 博文量
    182
  • 访问量
    173718