我需要知道如何做到这一点:
WHERE (if @date is not null) date = @Date
如果@date不为null,那么只有一个条件要做,否则就没有条件要做。我读过这样的东西
WHERE date = IIF (@Date IS NOT NULL, @date , )
但它并不适合这种情况。
谢谢!
答案 0 :(得分:2)
WHERE (date = @Date OR @Date IS NULL)
这将检查您的列是否等于参数;如果参数为null,则日期列不需要与参数值
匹配答案 1 :(得分:0)
WHERE Date=CASE WHEN @date IS NULL THEN Date ELSE @Date END
答案 2 :(得分:0)
在WHERE子句中使用CASE语句而不是IFF
SELECT * FROM Your_table
WHERE Date = CASE WHEN @date IS NULL THEN Date ELSE @Date END