最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

[置頂]ORACLE編程的套路字符串分解

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 16:26:21
文檔

[置頂]ORACLE編程的套路字符串分解

[置頂]ORACLE編程的套路字符串分解:作 者按,字符串分解在ORACLE編程中可用于詞、字的解析,繼而可實現(xiàn)單詞搜索的合并,為基礎(chǔ)代碼。 代碼如下,作者保留所有權(quán)。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) r
推薦度:
導讀[置頂]ORACLE編程的套路字符串分解:作 者按,字符串分解在ORACLE編程中可用于詞、字的解析,繼而可實現(xiàn)單詞搜索的合并,為基礎(chǔ)代碼。 代碼如下,作者保留所有權(quán)。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) r

作 者按,字符串分解在ORACLE編程中可用于詞、字的解析,繼而可實現(xiàn)單詞搜索的合并,為基礎(chǔ)代碼。 代碼如下,作者保留所有權(quán)。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) return fs.stringList IS/*********

作者按,字符串分解在ORACLE編程中可用于詞、字的解析,繼而可實現(xiàn)單詞搜索的合并,為基礎(chǔ)代碼。

代碼如下,作者保留所有權(quán)。

create or replace function FUN_STRING_SPLIT (
 v_string IN VARCHAR2, 
 v_sep IN VARCHAR2)
 return fs.stringList IS
/***************************************************************************/
/* */
/* 字符串分割函數(shù) for ORACLE */
/* @param v_string 母字符串 */
/* @param v_sep 分隔符 */
/* @return 字符串列表 */
/* TYPE stringList IS TABLE OF VARCHAR2(256) INDEX BY BINARY_INTEGER; */
/* @author foolstudio@qq.com */
/* All rights reserved. 未經(jīng)許可,不得用于商業(yè)用途 */
/* */
/***************************************************************************/

 --分隔符長度
 C_LEN int;
 --刪除空格后的字符串
 v_str varchar2(256);
 --分隔符位置
 v_pos int;
 --子字符串
 v_sub varchar2(256);
 --數(shù)組計數(shù)器
 v_i int;
 --結(jié)果
 Result fs.stringList;

BEGIN

 v_str := TRIM(v_string);
 --dbms_output.put_line(v_str);
 v_pos := INSTR(v_str, v_sep);
 v_i := 0;
 C_LEN := LENGTH(v_sep);

 --無匹配,整字符串返回
 IF v_pos < 1 AND LENGTH(v_str) > 0 THEN
 Result(v_i) := v_str;
 return Result;
 END IF;

 WHILE v_pos > 0 LOOP

 v_sub := SUBSTR(v_str, 0, v_pos-1);

 --添加到結(jié)果數(shù)組
 IF LENGTH(v_sub) > 0 THEN
 Result(v_i) := v_sub;
 v_i := v_i+1;
 END IF;

 --dbms_output.put_line(v_sub);
 v_str := SUBSTR(v_str, v_pos+C_LEN);
 --dbms_output.put_line(v_str);
 v_pos := INSTR(v_str, v_sep);

 END LOOP;

 --已無匹配,剩余字符串添加到結(jié)果數(shù)組
 IF LENGTH(v_str) > 0 THEN
 Result(v_i) := v_str;
 END IF;

 --調(diào)試
輸出結(jié)果 dbms_output.put_line('列表項數(shù)量: '||result.count() ); dbms_output.put_line('--['||v_string||'] split by ['||v_sep||']--'); v_i := 0; FOR v_i IN 0..(result.count()-1) LOOP dbms_output.put_line('('||v_i||'): '||result(v_i) ); end loop; --返回結(jié)果數(shù)組 return Result; END FUN_STRING_SPLIT;

代碼注釋相當詳細,不再對代碼進行解釋。

經(jīng)測試,代碼支持ORACLE 10及以上版本。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

[置頂]ORACLE編程的套路字符串分解

[置頂]ORACLE編程的套路字符串分解:作 者按,字符串分解在ORACLE編程中可用于詞、字的解析,繼而可實現(xiàn)單詞搜索的合并,為基礎(chǔ)代碼。 代碼如下,作者保留所有權(quán)。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) r
推薦度:
標簽: 置頂 分解 套路
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top