CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000)
FUNCTION fn_split(p_str IN CLOB, p_delimiter IN VARCHAR2)RETURN ty_str_split ISstr VARCHAR2(4000);str_split ty_str_split := ty_str_split();x_length Integer;----使用的时候用 select * from table(p_view_param.fn_split('HNGJ-FBZ-20210322-04;HNGJ-FBZ-20210316-02',';') )BEGINselect length(regexp_replace(p_str, '[^' || p_delimiter || ']', NULL))into x_lengthfrom dual;for x in 1 .. x_length loopselect a.valinto strfrom (SELECT rownum seq,regexp_substr(p_str,'[^' || p_delimiter || ']+',1,rownum) valFROM dualconnect BY rownum <= length(regexp_replace(p_str,'[^' || p_delimiter || ']',NULL))) awhere a.seq = x;d;str_split(str_split.COUNT) := str;end loop;RETURN str_split;END;
本文发布于:2024-01-28 06:41:58,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063953225533.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |