1. 程式人生 > 其它 >MySQL DATE_SUB和SUBDATE函式:日期減法運算

MySQL DATE_SUB和SUBDATE函式:日期減法運算

MySQL DATE_SUB(date,INTERVAL expr type) 和 SUBDATE(date,INTERVAL expr type) 兩個函式作用相同,都是執行日期的減法運算。

DATE_SUB() 和 SUBDATE() 函式接受兩個引數:

    • date 是 DATE 或 DATETIME 的起始值。
    • expr 是一個字串,用於確定從起始日期減去的間隔值。type 是 expr 可解析的間隔單位,例如 DAY,HOUR 等

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>