【发布时间】:2019-10-16 06:28:22
【问题描述】:
我正在尝试使用选择案例,以便在 sql 查询中使用或不使用 where 条件。但它不起作用,如果可能的话,我可以使用一些帮助来解决这个问题
DECLARE @CategoryID Int
SET @CategoryID = 0
SELECT * FROM SomeTable
CASE WHEN @CategoryID = 0 THEN
ELSE
WHERE (dbo.SomeTable.ID = @CategoryID)
END
所以如果我将 0 传递给 @CategoryID 参数,我根本不应该过滤,否则我想过滤。这个可以吗?
【问题讨论】:
-
references docs 展示了如何使用 case 表达式。
-
@DaleBurrell OP 甚至不应该在这里使用
CASE。
标签: sql-server conditional-statements case select-case