原sql:
SELECT
DATE_ADD(MIN(act.actual_paid_date)-1,INTERVAL p.expires YEAR) AS exitDate
FROM
pe_project p
LEFT JOIN pe_actual_paid_info act ON p.id = act.project_id
WHERE
p.is_del = 0
and p.state not in (-1,0)
GROUP BY p.id
order by p.creat_time desc
原因:
sql中,要获取最小的actual_paid_date日期减一天然后增加expires年的值作为exitDate,不能直接-1,需要再套一层,用日期-1会把日期转化为时间戳然后-1,所以搜索条件选择了2023-5-22时,先将2023-5-22 0:00:00 转化为时间戳然后-1,所以,日期肯定小于2023-5-22,所以查不出该日期的记录
修改后:
SELECT
DATE_ADD( DATE_ADD( MIN(act.actual_paid_date), INTERVAL -1 DAY), INTERVAL p.expires YEAR ) AS exitDate
FROM
pe_project p
LEFT JOIN pe_actual_paid_info act ON p.id = act.project_id
WHERE
p.is_del = 0
and p.state not in (-1,0)
GROUP BY p.id
order by p.creat_time desc