首页 > 代码库 > oracle split(转自--博客园 linbo.yang)
oracle split(转自--博客园 linbo.yang)
create type tabletype is table of varchar2(3000); CREATE OR REPLACE FUNCTION split(p_list CLOB, p_sep VARCHAR2 := ‘,‘) RETURN tabletype PIPELINED /************************************** * Name: split * Function: 返回字符串被指定字符分割后的表类型。 * Parameters: p_list: 待分割的字符串。 p_sep: 分隔符,默认逗号,也可以指定字符或字符串。 **************************************/ IS l_idx PLS_INTEGER; v_list VARCHAR2(32676) := p_list; BEGIN LOOP l_idx := INSTR(v_list, p_sep); IF l_idx > 0 THEN PIPE ROW(SUBSTR(v_list, 1, l_idx - 1)); v_list := SUBSTR(v_list, l_idx + LENGTH(p_sep)); ELSE PIPE ROW(v_list); EXIT; END IF; END LOOP; END;
oracle split(转自--博客园 linbo.yang)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。