【发布时间】:2010-04-02 19:37:04
【问题描述】:
我希望我可以在 SQl Server 2005 中为我的 where 子句执行以下操作(我知道这是无效的)。有时@teamID(传递到存储过程)将是现有 teamID 的值,否则它将始终为零,我想要 Team 表中的所有行。
我使用 Case 进行了研究,并且运算符需要在整个语句之前或之后出现,这会阻止我根据 @teamid 的值使用不同的运算符。除了复制我的选择语句之外的任何建议。
declare @teamid int
set @teamid = 0
Select Team.teamID From Team
case @teamid
when 0 then
WHERE Team.teamID > 0
else
WHERE Team.teamID = @teamid
end
【问题讨论】:
标签: sql sql-server sql-server-2005 tsql