【问题标题】:Can I have multiple boolean expressions in a searched case sql statement?我可以在搜索的 case sql 语句中有多个布尔表达式吗?
【发布时间】:2011-07-29 18:15:30
【问题描述】:

我正在尝试基于多个布尔表达式创建搜索案例 sql 语句。

例如

select CASE a = b OR c = d OR e = f OR g = h
THEN 'x' ELSE 'y' END
from table_name

我不断收到以下错误:Incorrect syntax near '='.

我是在做一些在 sql 中本质上是错误/非法的事情,还是我可以解决这个问题?如果可以修复,我该怎么做?

谢谢!

【问题讨论】:

    标签: sql case


    【解决方案1】:
    select CASE when ( a = b OR c = d OR e = f OR g = h )
    THEN 'x' ELSE 'y' END
    from table_name
    

    格式为CASE..WHEN..THEN..ELSE..END。你只是错过了WHEN

    【讨论】:

      【解决方案2】:

      我觉得自己很愚蠢。我错过了案件发生后的时间......

      应该是

      select CASE when a = b OR c = d OR e = f OR g = h
      THEN 'x' ELSE 'y' END
      from table_name
      

      然后就可以了……

      【讨论】:

      • 很高兴你知道了!但是您仍然应该感谢 Yuck 提供了第一个正确答案。 :)
      • @Michael - 我打算这样做。我投了他的票,但我在几分钟内无法选择他作为答案......
      【解决方案3】:

      你错过了WHEN关键字

      SELECT 
      CASE WHEN a = b OR c = d OR e = f OR g = h
      THEN 'x' 
      ELSE 'y' 
      END
      FROM table_name
      

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 2011-12-10
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 2018-04-30
        • 2022-01-26
        • 2021-12-27
        相关资源
        最近更新 更多