ORA-22922: 不存在的 LOB 值解决办法

报错语句:

select n1.cpname,n1.cids ,xx.* from (
select 
t.cpname,max(t.dz) dz ,count(cid) sbs,to_char( wm_concat(t.cid)) cids  
from VIEW_YQJMTZ_CID_INFO t where t.lx = '1'
group by t.cpname ) n1, VIEW_YQJMTZ_CID_INFO xx
where n1.cpname = xx.cpname

但是单独执行里面的子查询不报错

select 
t.cpname,max(t.dz) dz ,count(cid) sbs,to_char( wm_concat(t.cid)) cids  
from VIEW_YQJMTZ_CID_INFO t where t.lx = '1'
group by t.cpname 

 

修改后语句:

select n1.cpname,to_char(n1.cids) ,xx.* from (
select 
t.cpname,max(t.dz) dz ,count(cid) sbs, wm_concat(t.cid) cids  
from VIEW_YQJMTZ_CID_INFO t where t.lx = '1'
group by t.cpname ) n1, VIEW_YQJMTZ_CID_INFO xx
where n1.cpname = xx.cpname

 

初步判断,应该是wm_concat函数处理过的字段为clob类型,需要进行关联时,不能先进行to_char,只能在最后数据查询结果展示层进行to_char.

 

上一篇:mysql的增删改查(列子)


下一篇:大数据学习(学校培训1)