Oracle:在 UNION 语句 ORA-00932 中,clob 列与自身不一致

Posted

技术标签:

【中文标题】Oracle:在 UNION 语句 ORA-00932 中,clob 列与自身不一致【英文标题】:Oracle: clob column inconsistent with itself in UNION statement ORA-00932 【发布时间】:2021-10-29 00:56:07 【问题描述】:

我得到一个 ORA-00932 在 Oracle 中执行 2 个表的 UNION。我对这个数据库没有太多经验。

我将问题减少到 CLOB 列与其自身合并,但仍然出现错误。这是命令:

SELECT nm_wkt FROM UR_C99.CD_VET
UNION
SELECT nm_wkt FROM UR_C99.CD_VET

我得到了错误(葡萄牙语):

SQL Error [932] [42000]: ORA-00932: tipos de dados inconsistentes: esperava - obteve CLOB

列定义就是nm_wkt CLOB NOT NULL

我没想到此时会出现错误。这只是一个简单的联合声明。如果我不能建立这个联盟,我需要重新做很多工作。

有什么帮助吗?

【问题讨论】:

【参考方案1】:

我解决了。必须使用 UNION ALL 以便不会比较 clob 列:

SELECT nm_wkt FROM UR_C39.CD_VET_GEOBNDES
UNION all
SELECT nm_wkt FROM UR_C39.CD_VET_GEOBNDES

【讨论】:

以上是关于Oracle:在 UNION 语句 ORA-00932 中,clob 列与自身不一致的主要内容,如果未能解决你的问题,请参考以下文章

oracle sql语句的union效率问题【急】【急】【急】

oracle union 和 union all

ORACLE 两个order by的SQL使用 UNION 或者 UNION ALL 报错 ORA-00933:sql命令未正确结束

oracle中union的用法

oracle中,将两个select语句的结果作为一个整体显示出来

Oracle中 union 和 union all 的区别