zoukankan      html  css  js  c++  java
  • ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB

    使用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 的错误

  • 相关阅读:
    oracle 强杀进程
    oracle查询使用频率和磁盘消耗需要缓存大小
    Oracle定时器执行多线程
    Python
    Python- XML模块
    Python-标准库之OS模块
    Python
    Python-时间复杂度
    Python-冒泡排序
    Python-正则表达式
  • 原文地址:https://www.cnblogs.com/Guhongying/p/14231008.html
Copyright © 2011-2022 走看看