oracle 中 SPLIT_PART 报错:ORA-00904:”SPLIT_PART“ :标识符无效,怎么解决?

作者站长头像
站长
· 阅读数 16
SELECT SPLIT_PART('aaa,111', ',', 1) AS Part1,
       SPLIT_PART('aaa,111', ',', 2) AS Part2
 from dual;

报错:SPLIT_PART标识符无效,求解

oracle 中 SPLIT_PART 报错:ORA-00904:”SPLIT_PART“ :标识符无效,怎么解决?

oracle 中 SPLIT_PART 报错:ORA-00904:”SPLIT_PART“ :标识符无效,怎么解决?

我本来目的是想把下面的WJMC2列 按,拆分成多个行,不要在一行,隔开。请教有什么好方法oracle 中 SPLIT_PART 报错:ORA-00904:”SPLIT_PART“ :标识符无效,怎么解决?

回复
1个回答
avatar
test
2024-07-11

试一下这个 splitting-string-into-multiple-rows-in-oracle

with temp as
         (select 3260481 REQUESTID, '957543,976795' WJMC2
          from dual
          union all
          select 3260484, '1005870,1021425,1041219'
          from dual)
select distinct t.REQUESTID,
                trim(regexp_substr(t.WJMC2, '[^,]+', 1, levels.column_value)) as error
from temp t,
     table (cast(multiset(select level
                          from dual
                          connect by level <= length(regexp_replace(t.WJMC2, '[^,]+')) + 1) as sys.OdciNumberList)) levels
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容