【问题标题】: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 对性能的回答......