oracle分隔字符串列转行

1. DEMO:

SELECT REGEXP_SUBSTR('1,2', '[^,]+', 1, LEVEL)
          FROM DUAL
        CONNECT BY REGEXP_SUBSTR('1,2', '[^,]+', 1, LEVEL) IS NOT NULL

 

 

2.应用场景,具体看业务需求

select to_char(wm_concat(f.title))
  from (select 1 id, '短信' title
          from dual
        union all
        select 2 id, '邮件' title from dual) f
 where f.id in
       (SELECT REGEXP_SUBSTR('1,2', '[^,]+', 1, LEVEL)
          FROM DUAL
        CONNECT BY REGEXP_SUBSTR('1,2', '[^,]+', 1, LEVEL) IS NOT NULL)

posted on 2019-07-05 15:16  山鹰羽眼  阅读(2096)  评论(0编辑  收藏  举报