日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
對DB2實(shí)現(xiàn)split的操作流程描述

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

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、沂南ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的沂南網(wǎng)站制作公司

請教大家一個(gè)問題,用函數(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. j := INSTR (p_str, p_delimiter, i);  
  17. IF j = 0 
  18. THEN  
  19. j := 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. i := 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. /  

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

結(jié)果:

a

b

c

最佳答案 leo

可以寫個(gè)udf 來進(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 來進(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)容就是對DB2 實(shí)現(xiàn)split的介紹,望你能有所收獲。


文章標(biāo)題:對DB2實(shí)現(xiàn)split的操作流程描述
文章路徑:http://m.5511xx.com/article/cdjssse.html