表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。
但是查询中似乎存在问题。那么伙计们,请你们帮助我。欣赏它:)
答案 0 :(得分:0)
我认为您打算采用以下逻辑:
select (coalesce(S1.ACTUAL_END_DATE, S1.AGREED_END_DATE) > S1.AGREED_END_DATE)
那就是它。 MySQL中不需要if
或case
,因为布尔值被视为整数。
您也可以将其写为:
select (S1.ACTUAL_END_DATE > S1.AGREED_END_DATE AND S1.ACTUAL_END_DATE IS NOT NULL)