MySQL DATE_SUB(date,INTERVAL expr type) 和 SUBDATE(date,INTERVAL expr type) 两个函数作用相同,都是执行日期的减法运算。
DATE_SUB() 和 SUBDATE() 函数接受两个参数:
select current_date()-1 --20210629 慎用!
select DATE_FORMAT(current_date()-1, '%Y-%m-%d') --2021-07-06
select DATE_FORMAT(current_date()-31, '%Y-%m-%d') --空
select DATE_FORMAT(date_sub(current_date(), interval 1 day), '%Y-%m-%d') -- 2021-07-06
select DATE_FORMAT(date_sub(current_date(), interval 31 day), '%Y-%m-%d') -- 2021-06-06
select DATE_SUB(current_date, INTERVAL 35 DAY) -- 2021-05-29
————————————————
SELECT DISTINCT p.id FROM t_post_topic pt, t_post p WHERE pt.post_id = p.id AND p.review_status = 1 AND p.create_time >= subdate(current_date, INTERVAL 10 day) AND pt.topic_id = #{cityId} <if test="num == 2"> ORDER BY p.hot_score DESC, p.id DESC </if> <if test="num == 3"> ORDER BY p.create_time DESC, p.id DESC </if>