基於Java的應用程序正在使用通用選擇查詢從所有數據庫提取記錄。應該刪除特定列(此處爲'id')的值爲空的記錄。空值過濾器不適用於DB2和Sybase
這是查詢:
SELECT * from Employee WHERE 1=1 AND id IS NOT NULL AND cast(id as varchar) !=''
它工作正常的所有數據庫但給人的SQLException爲DB2。
的目標是:
- 檢查空和空值被認爲是DB2 /的Sybase相同。
- 修改SQL查詢,使之成爲DB2工作/的Sybase
其中的SQLException?通常,DBMS提供了一個錯誤的根本原因,如果您想獲得任何特定答案,發佈此類信息就顯得非常重要。 – Gimby
DB2區分了空值和空值(或者至少是iSeries版本) - 我認爲Oracle可能是唯一一個表現這種行爲的人。 DB2可能會拋出'!=' - 如果您試圖創建一個「通用查詢」,那麼當您進行日期/時間操作時(無人使用完全相同的方式),您將遇到問題。 –