gpt4 book ai didi

sql - SQL Where 子句中的条件运算符

转载 作者:行者123 更新时间:2023-12-02 14:07:29 24 4
gpt4 key购买 nike

我希望我可以在 SQl Server 2005 中为我的 where 子句执行类似以下操作(我知道这是无效的)。有时 @teamID(传递到存储过程)将是现有 teamID 的值,否则它将始终为零,并且我想要团队表中的所有行。

我使用 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

最佳答案

您可以在没有案例的情况下做到这一点:

SELECT  Team.teamID 
FROM Team
WHERE (@teamid = 0 AND Team.teamID > 0)
OR (@teamid <> 0 AND Team.teamID = @teamid)

关于sql - SQL Where 子句中的条件运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com