>데이터 베이스 >MySQL 튜토리얼 >使用表函数切割字符串

使用表函数切割字符串

WBOY
WBOY원래의
2016-06-07 14:56:251071검색

无详细内容 无 CREATE OR REPLACE TYPE table_userid is table of varchar2(100); create or replace function get_userid_tab(v_str in varchar2) return table_userid pipelined as v_new_str varchar2(4000); begin if nvl(v_str,null) is not null then v

CREATE OR REPLACE TYPE table_userid is table of varchar2(100); 

create or replace function get_userid_tab(v_str in varchar2) return table_userid pipelined as 

v_new_str varchar2(4000); 

begin 

  if nvl(v_str,null) is not  null then 


    v_new_str:=v_str; 

    while 1=1 loop 

      if instr(v_new_str,',')=0 then 

        pipe row(to_number(v_new_str)); 

        exit; 

      else 

        pipe row(to_number(substr(v_new_str,1,instr(v_new_str,',')-1))); 

        v_new_str:=substr(v_new_str,instr(v_new_str,',')+1); 

      end if; 

    end loop; 

  end if; 

  return; 

end; 

测试: select * from table(get_userid_tab('16,17,18,19,20')); 

结果: 
16 
17 
18 
19 
20 
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.