【Oracle】ora-00932:数据类型不一致:应为 -,但却获得BLOB
文章目录问题场景解决思路解决办法拓展问题场景select blob from table1unionselect blob from table2出错:ora-00932:数据类型不一致:应为 -,但却获得BLOB解决思路因为我关联的时候,有的数据可以对应上上Clob 字段,有的则为空,但我又想把这些数据都显示出来,一直想的是怎么把字符串转成CLOB 类型,查找了半天,也没有发现一个好办法,好像大
问题场景
select blob from table1
union
select blob from table2
出错:ora-00932:数据类型不一致:应为 -,但却获得BLOB
解决思路
因为我关联的时候,有的数据可以对应上上Clob 字段,有的则为空,但我又想把这些数据都显示出来,一直想的是怎么把字符串转成CLOB 类型,查找了半天,也没有发现一个好办法,好像大家都不经常用转成CLOB类型函数。
TO_CLOB()
UPDATE PRINT_MEDIA
SET AD_FINALTEXT = TO_CLOB (AD_FLTEXTN);
解决办法
因为:union会对字段类型进行比较(相等和不等判断),oracle不支持对大数据类型的比较操作。 解决办法:使用union all就可以了。union all不涉及比较。
select blob from table1
union all
select blob from table2
拓展
CLOB 字段不能用的情况
不支持的语句 | 不支持的用法例子 |
---|---|
SELECT DISTINCT |
SELECT DISTINCT clobCol from... |
SELECT clause
ORDER BY |
SELECT... ORDER BY clobCol |
SELECT clause
GROUP BY |
SELECT avg(num) FROM... GROUP BY clobCol |
UNION, INTERSECT, MINUS
(Note that UNION ALL works for LOBs.) |
SELECT clobCol1 from tab1 UNION SELECT clobCol2 from tab2; |
Join queries |
SELECT... FROM... WHERE tab1.clobCol = tab2.clobCol |
Index columns |
CREATE INDEX clobIndx ON tab(clobCol)... |
更多推荐
所有评论(0)