這是一個簡單的問題,但我現在無法想到如何做到這一點。搜索查詢中的空日期
我在搜索查詢中有一個日期字段。該查詢不是動態的,或者這會更容易。我需要能夠返回匹配輸入日期的記錄,或者如果沒有輸入日期,那麼它應該全部返回。
這是我有,但它不工作。它不返回任何行,當有標準或沒有時。
AND ((table.dateField = p_dateField)
OR (table.dateField = table.dateField and table.dateField is null))
在此先感謝。
與它一起工作了一個小時後,我來到了這一點:
and (
(p_dateField IS NOT NULL AND table.dateField = p_dateField)
OR (p_dateField IS NULL AND (table.dateField is null or (table.dateField is not null))
)
它適用於爲數不多的測試中,我已經能夠對其運行。如果任何人都可以建議更好的方法,請做。
謝謝!
泗門您好,我試過了。它返回我正在查找的記錄,但它也給我記錄日期爲空的記錄。我希望它只返回匹配日期的行,或者如果p_dateField爲null,那麼我希望它返回所有內容。 – gswanson 2011-03-08 21:28:14
好點:我認爲table.dateField不允許NULL。我在我的答案中更新了OR語句的左側,以消除這部分語句中的空匹配 – 2011-03-08 22:25:04