使用表函数切割字符串
程序员文章站
2024-02-07 11:19:28
...
无详细内容 无 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
上一篇: 多国语言网站,怎么写代码比较好?
下一篇: 像这么的查询还有别的什么方法可写吗