码迷,mamicode.com
首页 > 其他好文 > 详细

ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB

时间:2021-01-07 11:54:44      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:select   产生   loading   区别   join   一个   src   属性   结合   

使用union时出现了一个这样的问题,ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB,原因是某个select中有个字段的类型为clob,解决办法:https://blog.csdn.net/qq_30125555/article/details/84325076

技术图片

 

 

的确使用union all可以解决了问题,union all前面的那个查询结果集中会有重复的记录(如果使用union的话则最终结果不会有重复记录,这里注意union和union all的区别),所以想着第一个select要加上distinct来去掉重复的结果,

但是union all 前面的那个select加上了 distinct后,查询又出现了 :ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB 的错误!!!

最后还是用to_char来搞定的,因为我发现那个clob的属性并没有用到。。。(实在巧合,如果有用到的话,可能就不能用to_char来处理了?)

 

总结:1. union 不能操作于包含 clob的结果集,可以改为union all,但是有时会出现重复的结果(union和union all的区别);  

           2. 对clob的字段使用to_char后可以进行union操作,但是要结合实际情况看是否能使用。

           3. 使用 union all可以解决包含 clob字段的问题,但是可能会有重复结果(结合我的实际情况,是union all前面的那个select里面的left join导致该select有重复数据),此时使用union all的最终结果也就包含了重复值。

              并且,尝试使用distinct对产生重复数据的那个select进行过滤时,最后又报  ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB 的错误

 

ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB

标签:select   产生   loading   区别   join   一个   src   属性   结合   

原文地址:https://www.cnblogs.com/Guhongying/p/14231008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!