【问题标题】:Is there a way to combine two conditions in a CASE WHEN SQL Statement?有没有办法在 CASE WHEN SQL 语句中组合两个条件?
【发布时间】:2020-07-31 15:26:06
【问题描述】:

我正在为 SQL 数据创建一个是/否标志,我有类似的东西:

''' 当 col_name 为 NULL 或 col_name = 0 THEN "N" 时的情况 否则“Y” END AS col_name_flag '''

有什么方法可以更简洁,这样我就不必将列名写两次?许多列名都很长,所以我想知道是否有办法让它在视觉上更令人愉悦。

【问题讨论】:

    标签: sql null conditional-statements case-when multiple-conditions


    【解决方案1】:

    可能最简单的方法是反转比较:

    (CASE WHEN col_name <> 0 THEN 'Y' ELSE 'N' END) AS col_name_flag
    

    【讨论】:

      【解决方案2】:

      你也可以使用:

      CASE IsNull(col_name,0) =0 THEN 'N' ELSE 'Y' END as col_name_flag
      

      但我会同意 Gordon 对性能的回答......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-27
        • 2011-10-14
        • 1970-01-01
        • 2022-12-07
        • 2022-08-17
        • 2011-03-22
        • 2014-04-10
        • 1970-01-01
        相关资源
        最近更新 更多