在WHERE子句中使用CASE选择所有列值

时间:2011-11-03 16:15:18

标签: tsql select case

我想要实现的目标非常简单。我有一个选择语句,其中有一个参数@age连接到DropDownList。 @age参数用于AGE列。

现在这个DropDownList有一个默认值 ALL ,选中后必须显示AGE列中的任何值。这是我的逻辑:

SELECT * FROM tableaGE
where ([AGE] = CASE WHEN @Age = 'ALL' THEN ??? ELSE @Age END)

我在这个主题上找不到互联网上的文档。我该怎么做而不是 ??? 。我尝试使用 * ,但它会出现语法错误。感谢

1 个答案:

答案 0 :(得分:1)

这很简单,只需放置字段名称而不是 ???

where ([AGE] = CASE WHEN @Age = 'ALL' THEN [AGE] ELSE @Age END)