标签: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