1
我正在嘗試創建一個T-SQL case語句來根據字段是否爲NULL
或者它是否包含值來過濾查詢。如果您可以將NULL
或NOT NULL
作爲案例的結果分配,但這看起來不可行,那將很簡單。在CASE語句中將BIT匹配到DATETIME
這裏是僞代碼:
WHERE DateColumn = CASE @BitInput
WHEN 0 THEN (all null dates)
WHEN 1 THEN (any non-null date)
WHEN NULL THEN (return all rows)
從我的理解中,WHEN 0
條件可以通過不提供在所有一WHEN
條件來實現(返回一個NULL
值)。
WHEN 1
條件似乎它可以使用通配符,但我得到了有關類型轉換的錯誤。將列分配給自己修復了這個問題。我不知道該怎麼辦WHEN NULL
條件。我的內部邏輯似乎認爲將列分配給自己應該可以解決這個問題,但它並不像上面所說的那樣。
我已經使用動態SQL重新創建了這個,但由於各種原因,我寧願在本機代碼中創建它。
我會很感激任何輸入。謝謝。
你的先生是一個紳士和學者更何況我的個人英雄的一天分開。感謝您及時的回覆。 – beardog 2010-06-30 17:42:11