永发信息网

db2自定义函数查找字符“,”在字段中第N次出现的位置

答案:1  悬赏:0  手机版
解决时间 2021-11-17 16:40
  • 提问者网友:沉默的哀伤
  • 2021-11-17 09:43
db2自定义函数查找字符“,”在字段中第N次出现的位置
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-11-17 09:59
不知道下面这种处理方式,  对你有没有参考价值
db2 -td@



CREATE OR REPLACe FUNCTION f_split (

p_str    varchar(1000),

p_split  varchar(10)

) RETURNS TABLE (result VARCHAr(100))

LANGUAGE SQL

RETURN

  with n(str, ori, pos) as (

     values (p_str||p_split, 1, locate(p_split,p_str))

     union all

     select  str,  pos+length(p_split), locate(p_split, str, pos+length(p_split))

     from n

     where locate(p_split, str, pos+length(p_split))>0)

   select substr(str, ori, pos-ori) as result from n

@




函数创建完毕以后,可以开始做查询的处理.

db2 => select result from table(f_split('aa,bb,cc',','))@

RESULT

--------------------

SQL0347W  递归公共表表达式 "TEST.N" 可能包含无限循环。  SQLSTATE=01605

aa

bb

cc


  已选择 3 条记录,打印 1 条警告消息。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯