https://blog.csdn.net/hongweigg/article/details/102562435
問題:
在一個應用項目中,原來運行得好好得,但升級后,卻報“ORA-00932: 數據類型不一致: 應為 -, 但卻獲得 CLOB ”。經查,一表增加了CLOB類型字段,用於存儲用戶照片數據。
解決:
原報錯查詢為2個表關聯,經過簡化,可以得出能導致同樣報錯的典型SQL句式,見下面第一條SQL:
-
#報錯
-
select
distinct u.*
from t_user u,t_org
where u.user_id=
'1';
-
-
#不報錯
-
select
distinct u.*
from t_user u
where u.user_id=
'1';
-
-
#不報錯
-
select
distinct u.user_id,u.user_baseorgid
from t_user u,t_org
where u.user_id=
'1';
經測試,發現帶distinct關鍵字的語句,關聯多表查詢時,若使用字段全選(select *),則表中含clob字段,就會報上述錯誤。
解決的辦法時,使用distict關鍵字時,select 子句中不要出現cblod類型的字段。