【问题标题】:Switch Case in SQL Where ClauseSQL Where 子句中的切换大小写
【发布时间】:2013-08-01 08:33:21
【问题描述】:

我想在WHERE 子句中使用一些CASE WHEN 语句,以根据特定变量允许不同的WHERE 标准。我知道它的样子,但我只是不知道它是否可能或使用什么语法。

我希望它被这样使用:

SELECT * FROM Table1
WHERE
CASE WHEN @var = 1 THEN ID = 5 END,
CASE WHEN @var = 2 THEN Name = 'Bob' END,
CASE WHEN @var = 3 THEN Color = 'Green'

@var 的每个实例的WHERE 条件都不同。任何帮助表示赞赏。

【问题讨论】:

    标签: sql sql-server tsql case where


    【解决方案1】:

    您不需要CASE

    SELECT * FROM Table1
    WHERE
    (@var = 1 AND ID = 5) OR
    (@var = 2 AND Name = 'Bob') OR
    (@var = 3 AND Color = 'Green')
    

    【讨论】:

    • 我太笨了...非常感谢!
    猜你喜欢
    • 2010-09-17
    • 2020-12-06
    • 2017-01-23
    • 2016-11-26
    • 2011-10-16
    • 2016-09-03
    • 2017-06-21
    • 2011-10-29
    • 1970-01-01
    相关资源
    最近更新 更多