1
首先對於標題感到抱歉,我知道它並不清楚,但我找不到更好的一個!我有一份Crystal報告。此報告不使用命令(sql查詢)從oracle數據庫中獲取數據。以前的開發人員使用表之間的鏈接,以便動態生成查詢。當與字符串比較時,列中出現空值的行不會顯示
我用菜單「Show Sql Query」查看生成的sql查詢。我生成sql查詢的原因是因爲有些記錄沒有顯示在結果中,所以我想在SQL Developer中執行查詢,並且發現問題並相信我這是一個非常奇怪的問題。實際上,在WHERE子句中有這個過濾器(TableX.FieldY <>'blabla')。通常它應該包含那列中包含NULL的行,但事實並非如此!
在結果中,oracle不顯示在該列中具有空值的行!我相信null與'blablabla'不同,那麼爲什麼該列中具有null值的記錄不顯示?你可以幫我嗎?另外,即使解決方案要修改查詢中的某些內容,我也無法修改查詢,因爲它是由Crystal報表自動生成的。非常感謝你的寶貴幫助。
Walloud
應該先完成空檢查,否則檢查將失敗。所以,'isnull({table.field})或{table.field} <>'blablah'' – Ryan
這是Crytal報告的語法問題?從SQL邏輯的角度來看,這應該不重要。 –
是的,當CR遇到null時,它將停止評估語句。 – Ryan