行专列listagg返回的是varchar2,长度过长报错问题

来源:互联网 发布:java 不同类传参 编辑:程序博客网 时间:2024/04/30 16:01
select LISTAGG (a.nename,',') within group (order by a.nename) nename from 
    (select distinct d.ne_name as nename from t_eom_alarm_define d where d.work_id=#PM_ID#) a 


行专列过长,又不能改成clob类型,所以或行专列sql
由于wm_concat返回的是clob,字段类型是varchar2,加上dbms_lob.substr,转成字符串
 select dbms_lob.substr(wm_concat(a.nename),2000,1)nename from (select distinct d.ne_name as nename
          from t_eom_alarm_define d
         where d.work_id = #PM_ID#) a

0 0