2017-03-15 72 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