加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL语句中的条件运算符

发布时间:2020-12-12 06:41:49 所属栏目:MsSql教程 来源:网络整理
导读:我希望我可以在我的where子句中执行SQl Server 2005(我知道它无效)中的以下内容.有时@teamID(传入存储过程)将是现有teamID的值,否则它将始终为零,我想要Team表中的所有行. 我使用Case进行了研究,运算符需要在整个语句之前或之后出现,这使得我无法根据@teamid
我希望我可以在我的where子句中执行SQl Server 2005(我知道它无效)中的以下内容.有时@teamID(传入存储过程)将是现有teamID的值,否则它将始终为零,我想要Team表中的所有行.

我使用Case进行了研究,运算符需要在整个语句之前或之后出现,这使得我无法根据@teamid的值使用不同的运算符.除了复制我的select语句之外的任何建议.

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读