2017-03-15 106 views
0

我需要知道如何做到這一點:只有在where子句(SQL Server)的

WHERE (if @date is not null) date = @Date 

這是唯一的條件做,如果@date不是別的空沒有條件去做。我讀了這樣的東西

WHERE date = IIF (@Date IS NOT NULL, @date ,) 

但它不適用於這種情況。

謝謝!

+1

你能後的完整的查詢? –

回答

2
WHERE (date = @Date OR @Date IS NULL) 

這將檢查您的列是否等於參數;如果參數爲空,那麼日期列難道不需要匹配的參數值

+0

你怎麼知道他不是在做任務? –

0
WHERE Date=CASE WHEN @date IS NULL THEN Date ELSE @Date END 
0

使用CASE語句的WHERE子句,而不是IFF

SELECT * FROM Your_table 
WHERE Date = CASE WHEN @date IS NULL THEN Date ELSE @Date END