SELECT
CASE WHEN (IFNULL(o.ENDTIME,99))=99
THEN
(CASE WHEN (CURDATE()-pc.FORECASTTIME)>0
THEN
(CASE WHEN (CURDATE()-pc.FORECASTTIME)>7 THEN 2 ELSE 1 END)
ELSE
0
END)
ELSE 0
END AS overtime
FROM tb_a
解释:如果结束时间为空的情况下,当前时间大于预期结束时间的时,如果超过七天则返回2,否则返回1,如果不大于当前时间返回0