ETL-建车造轮子(二)

ETL-建车造轮子(二)

首页休闲益智抖音画轮子赛车游戏更新时间:2024-06-04

致力做一个首先想的是怎么帮助别人的人
点赞再看,谢谢支持

前言

想要提高编程效率,就必须学会造轮子,造好的轮子随时使用,随时开车。

今天分享一些实用的函数和存储过程(轮子),希望你能够用上。

一、(‘0a,0b,0c’)–>(‘0a’,‘0b’,‘0c’)

create or replace function f_change_str_to_str(a_str in varchar2) return varchar2 is /* --模块功能:字符串转换_例('0a,0b,0c')-->('0a','0b','0c') --a_str: 传入字符串 --demo: select f_change_str_to_str('0a,0b,0c') from dual; */ oldstr varchar2(4000) := a_str; newstr varchar2(4000) := null; --返回加单引号之后的值 v_commapos number(4); --逗号位置 v_curitem varchar2(4000) := ''; --当前添加项(不包含单引号) begin loop exit when oldstr is null; v_commapos := instr(oldstr, ','); --v_startpos if (v_commapos = 0) then --没有找到 v_curitem := oldstr; oldstr := null; --停止查找 else v_curitem := substr(oldstr, 1, v_commapos - 1); --修改oldstr oldstr := substr(oldstr, v_commapos 1, length(oldstr) - length(v_curitem) - 1); end if; if (newstr is null) then newstr := '''' || v_curitem || ''''; else newstr := newstr || ',''' || v_curitem || ''''; end if; end loop; return newstr; end; 二、字符串转数组

CREATE OR REPLACE FUNCTION f_str_to_array (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN array_num IS j INT := 0; i INT := 1; len INT := 0; len1 INT := 0; str VARCHAR2 (4000); str_split array_num := array_num(); BEGIN len := LENGTH (p_str); len1 := LENGTH (p_delimiter); WHILE j < len LOOP j := INSTR (p_str, p_delimiter, i); IF j = 0 THEN j := len; str := SUBSTR (p_str, i); str_split.EXTEND; str_split (str_split.COUNT) := str; IF i >= len THEN EXIT; END IF; ELSE str := SUBSTR (p_str, i, j - i); i := j len1; str_split.EXTEND; str_split (str_split.COUNT) := str; END IF; END LOOP; RETURN str_split; END;

今天分享的对你有帮助吗,如果有,请点个赞,鼓励鼓励我吧,谢谢。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved