MySQL查詢中,經常需要計算兩個日期相差的天數,例如計算兩個日期之間的天數,或計算一個日期與當前日期之間的天數等等。
下面是一個實現兩個日期相差的天數的MySQL函數: DELIMITER $$ CREATE FUNCTION datediff_days(date1 date, date2 date) RETURNS int DETERMINISTIC BEGIN DECLARE dif_days int; SET dif_days=DATEDIFF(date1,date2); IF dif_days< 0 THEN SET dif_days=-dif_days; END IF; RETURN dif_days; END$$ DELIMITER ; 這個函數接受兩個日期參數,計算它們之間的天數差并返回結果,如果日期1早于日期2,則返回正數,否則返回負數。
下面是使用這個函數計算兩個日期相差天數的示例:
SELECT datediff_days('2019-01-01','2019-01-15'); -- 14 SELECT datediff_days('2019-01-15','2019-01-01'); -- 14 這兩個查詢計算2019年1月1日和2019年1月15日之間的天數差,結果為14。
如果要計算一個日期與當前日期之間的天數差,可以使用下面的查詢:
SELECT datediff_days(now(),'2019-01-01'); -- xxx 這個查詢計算當前日期與2019年1月1日之間的天數差。
使用上面的函數,可以方便地計算任意兩個日期之間的天數差。
上一篇如何讓背景圖下移 css
下一篇mysql兩張表高效查詢