if语句和单个mySQL查询中的比较大于

时间:2014-08-24 13:50:26

标签: php mysql

表S1

SELECT  
    IF(
       IF( 
       ISNULL(S1.ACTUAL_END_DATE),S1.AGREED_END_DATE, S1.ACTUAL_END_DATE
    ) > S1.AGREED_END_DATE, 1, O) 

来自表格;

说明: - 如果ACTUAL_END_DATE为空,我需要AGREED_END_DATE。否则为ACTUAL_END_DATE。然后检查该值是否大于AGREED_END_DATE。如果是这样打印1,如果不是0。

但是查询中似乎存在问题。那么伙计们,请你们帮助我。欣赏它:)

1 个答案:

答案 0 :(得分:0)

我认为您打算采用以下逻辑:

select (coalesce(S1.ACTUAL_END_DATE, S1.AGREED_END_DATE) > S1.AGREED_END_DATE)

那就是它。 MySQL中不需要ifcase,因为布尔值被视为整数。

您也可以将其写为:

select (S1.ACTUAL_END_DATE > S1.AGREED_END_DATE AND S1.ACTUAL_END_DATE IS NOT NULL)