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 的錯誤

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM