第一个非假值

时间:2017-10-08 02:21:52

标签: 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中简化吗?

2 个答案:

答案 0 :(得分:1)

这不是你想要的吗?

(a.is_future_release OR aa.is_future_release) 

在MySQL中,布尔值被视为整数,其值为" 1"为真和" 0"为假。

这与原始查询之间的唯一区别是,如果两个值均为NULL,则可能会返回NULL

答案 1 :(得分:0)

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)