Mysql 第一个非假值
有没有办法简化以下内容Mysql 第一个非假值,mysql,sql,Mysql,Sql,有没有办法简化以下内容 CASE WHEN (a.is_future_release IS TRUE OR aa.is_future_release IS TRUE) THEN TRUE ELSE FALSE END 在python中,我会: a.is_future_release or aa.is_future_release or False 在mysql/sql中可以简化这一点吗?IF语句更简洁一些: IF(a.is_future_release IS TRUE O
CASE WHEN
(a.is_future_release IS TRUE OR aa.is_future_release IS TRUE) THEN TRUE
ELSE FALSE
END
在python中,我会:
a.is_future_release or aa.is_future_release or False
在mysql/sql中可以简化这一点吗?IF语句更简洁一些:
IF(a.is_future_release IS TRUE OR aa.is_future_release IS TRUE, TRUE, FALSE)
或使用布尔运算符/速记:
IF(a.is_future_release|aa.is_future_release, TRUE, FALSE)
这不是你想要的吗
(a.is_future_release OR aa.is_future_release)
在MySQL中,布尔值被视为整数,1表示真,0表示假
此查询与原始查询之间的唯一区别是,如果两个值都为NULL,则可能返回NULL @DanielA.White可能重复,但如果我执行a.is_future_release | aa.is_future_release,如果两者的计算结果都为false,则返回NULL而不是0。您可以将整个内容包装为COALESCE,0以避免返回NULL值。