濮阳杆衣贸易有限公司

主頁 > 知識庫 > Oracle 自定義split 函數(shù)實例詳解

Oracle 自定義split 函數(shù)實例詳解

熱門標(biāo)簽:南通電銷外呼系統(tǒng)哪家強 地圖標(biāo)注的坐標(biāo)點 區(qū)域地圖標(biāo)注怎么設(shè)置 理財產(chǎn)品電銷機器人 上海網(wǎng)絡(luò)外呼系統(tǒng) 百度地圖標(biāo)注飯店位置怎么 電話機器人那種好 外呼系統(tǒng)好點子 百度地圖標(biāo)注注解

Oracle 自定義split 函數(shù)

Oracle沒有提供split函數(shù),但可以自己建立一個函數(shù)實現(xiàn)此功能。比如“abc defg  hijkl   nmopqr     stuvw  xyz”,分隔符是空格,但空格個數(shù)不定。

源代碼:

CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);

CREATE OR REPLACE FUNCTION fn_var_split (
  p_str IN VARCHAR2,
  p_delimiter IN VARCHAR2
)
  RETURN ty_str_split
IS
  j INT := 0;
  len INT := 0;
  str VARCHAR2 (4000);
  str_split ty_str_split := ty_str_split ();
  v_str VARCHAR2 (4000) := RTRIM (LTRIM (p_str, p_delimiter), p_delimiter);
BEGIN
  len := LENGTH (v_str);

  WHILE len > 0
  LOOP
    j := INSTR (v_str, p_delimiter, 1);

    IF j = 0
    THEN
      str := SUBSTR (v_str, 1);
      len := 0;
      str_split.EXTEND;
      str_split (str_split.COUNT) := str;
    ELSE
      str := SUBSTR (v_str, 1, j - 1);
      v_str := LTRIM (LTRIM (v_str, str), p_delimiter);
      len := LENGTH (v_str);
      str_split.EXTEND;
      str_split (str_split.COUNT) := str;
    END IF;
  END LOOP;

  RETURN str_split;
END fn_var_split;
/

測試:
結(jié)果:

1
12
123
1234
12345 

DECLARE
  CURSOR c
  IS
    SELECT * FROM TABLE (CAST (fn_var_split (';1;12;;123;;;1234;;;;12345;', ';') AS ty_str_split));
  r c%ROWTYPE;
BEGIN
  OPEN c;
  LOOP
    FETCH c INTO r;
    EXIT WHEN c%NOTFOUND;
    DBMS_OUTPUT.put_line (r.column_value);
  END LOOP;
  CLOSE c;
END;
/

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • Oracle用decode函數(shù)或CASE-WHEN實現(xiàn)自定義排序
  • 使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)
  • Oracle自定義脫敏函數(shù)的代碼詳解
  • ORACLE實現(xiàn)自定義序列號生成的方法
  • 詳解Oracle自定義異常示例
  • Oracle將查詢的結(jié)果放入一張自定義表中并再查詢數(shù)據(jù)
  • oracle異常(預(yù)定義異常,自定義異常)應(yīng)用介紹
  • Oracle用戶自定義異常實現(xiàn)過程解析

標(biāo)簽:自貢 紹興 寧波 百色 中衛(wèi) 遼源 昭通 海東

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle 自定義split 函數(shù)實例詳解》,本文關(guān)鍵詞  Oracle,自定義,split,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle 自定義split 函數(shù)實例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle 自定義split 函數(shù)實例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    丹凤县| 施秉县| 当涂县| 舞阳县| 越西县| 山丹县| 新安县| 顺昌县| 秀山| 淮阳县| 锦州市| 柘荣县| 华蓥市| 翁牛特旗| 临颍县| 敦煌市| 云和县| 石棉县| 拉萨市| 石柱| 五河县| 常熟市| 大田县| 鹤壁市| 罗江县| 桑日县| 靖边县| 元谋县| 垣曲县| 峨眉山市| 凯里市| 浦北县| 柘城县| 锦州市| 阿克| 京山县| 育儿| 如皋市| 浙江省| 中方县| 咸丰县|