自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)DB2 實(shí)現(xiàn)split的操作流程描述

數(shù)據(jù)庫(kù)
此文章主要向大家描述的是DB2 實(shí)現(xiàn)split的實(shí)際操作流程,假如你對(duì)DB2 實(shí)現(xiàn)split的實(shí)際操作流程有興趣了解的話,你就可以瀏覽以下的內(nèi)容了。

以下的文章主要描述的是DB2 實(shí)現(xiàn)split的實(shí)際操作流程,假如你對(duì)DB2 實(shí)現(xiàn)split的實(shí)際操作流程有興趣了解的話,你就可以通過(guò)以下的文章對(duì)其有個(gè)更好的了解,以下就是具體方案的描述,希望在你今后的學(xué)習(xí)中會(huì)有所幫助。

 

請(qǐng)教大家一個(gè)問(wèn)題,用函數(shù)實(shí)現(xiàn)split功能,分割字符串。

如 輸入字符串為 'a,b,c',

實(shí)現(xiàn)輸出結(jié)果為第一行 a

 

第二行 b

 

第三行 c

 

求具體的DB2 實(shí)現(xiàn)函數(shù)。

另附 oracle的實(shí)現(xiàn)方法為:

 

  1. CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);  
  2. CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)  
  3. RETURN ty_str_split  
  4. IS  
  5. j INT :0;  
  6. i INT :1;  
  7. len INT :0;  
  8. len1 INT :0;  
  9. str VARCHAR2 (4000);  
  10. str_split ty_str_split :ty_str_split ();  
  11. BEGIN  
  12. len :LENGTH (p_str);  
  13. len1 :LENGTH (p_delimiter);  
  14. WHILE j < len 
  15. LOOP  
  16. :INSTR (p_str, p_delimiter, i);  
  17. IF j = 0 
  18. THEN  
  19. :len;  
  20. str :SUBSTR (p_str, i);  
  21. str_split.EXTEND;  
  22. str_split (str_split.COUNT) :str;  
  23. IF i >= len  
  24. THEN  
  25. EXIT;  
  26. END IF;  
  27. ELSE  
  28. str :SUBSTR (p_str, i, j - i);  
  29. :j + len1;  
  30. str_split.EXTEND;  
  31. str_split (str_split.COUNT) :str;  
  32. END IF;  
  33. END LOOP;  
  34. RETURN str_split;  
  35. END fn_split;  
  36. /  

測(cè)試: SELECT * FROM TABLE (fn_split ('a,b,c', ',') );

結(jié)果:

 

a

 

b

 

c

 

最佳答案 leo

 

可以寫個(gè)udf 來(lái)進(jìn)行分割, 但我更喜歡使用sql:

 

  1. with n(str, ori, pos) as (  
  2. values ('abc,bc,cd,d,ff,', 1, posstr('abc,bc,cd,d,ff,', ','))  
  3. union all   
  4. select str, pos+1, locate(',', str, pos+1)  
  5. from n   
  6. where locate(',', str, pos+1)>0)  
  7. select str, ori, pos, substr(str, ori, pos-ori) as result from n   

可以寫個(gè)udf 來(lái)進(jìn)行分割, 但我更喜歡使用sql:

  1. with n(str, ori, pos) as (  
  2. values ('abc,bc,cd,d,ff,', 1, posstr('abc,bc,cd,d,ff,', ','))  
  3. union all   
  4. select str, pos+1, locate(',', str, pos+1)  
  5. from n   
  6. where locate(',', str, pos+1)>0)  
  7. select str, ori, pos, substr(str, ori, pos-ori) as result from n   

以上的相關(guān)內(nèi)容就是對(duì)DB2 實(shí)現(xiàn)split的介紹,望你能有所收獲。

【編輯推薦】

  1. DB2 存儲(chǔ)過(guò)程的異常處理器類型有幾種?
  2. 對(duì)DB2 增量備份的正確運(yùn)用描述
  3. DB2 并行版本中的查詢優(yōu)化登峰造極!
  4. IBM DB2數(shù)據(jù)庫(kù)與注意事項(xiàng)_DB2編程的描述
  5. DB2性能優(yōu)化之設(shè)計(jì)DB2配置數(shù)據(jù)庫(kù)很好用!

 

 

責(zé)任編輯:佚名 來(lái)源: 投資網(wǎng)
相關(guān)推薦

2010-08-18 14:10:38

DB2入門

2010-08-11 12:34:59

DB2 Q 復(fù)制配置

2010-08-06 14:52:13

DB2 9.7武器

2010-08-17 15:42:30

DB2 增量備份

2010-08-12 16:10:45

DB2 Online

2010-07-30 11:01:55

2010-08-17 13:47:09

DB2還原

2010-07-29 13:34:35

DB2編目

2010-08-04 13:10:02

2010-08-02 10:44:16

DB2打補(bǔ)丁

2010-07-27 14:33:24

DB2數(shù)據(jù)庫(kù)

2010-08-09 10:00:25

DB2數(shù)據(jù)移動(dòng)

2010-08-19 09:54:42

DB2死鎖

2010-08-18 17:32:34

DB2數(shù)據(jù)庫(kù)

2010-07-29 13:56:32

2010-08-18 15:42:33

2010-08-12 09:25:22

DB2數(shù)據(jù)庫(kù)復(fù)原

2011-05-11 13:01:07

DB2數(shù)據(jù)恢復(fù)數(shù)據(jù)備份

2010-08-02 08:40:43

DB2數(shù)據(jù)庫(kù)性能

2010-08-03 14:05:26

DB2數(shù)據(jù)集
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)