SQL中TIMESTAMPDIFF()計算兩個時間日期的時間差、DATE_SUB()計算某個日期前的具體日期時間、DATE_ADD()計算某個日期后的具體日期時間對日期進行加減操作解析:
1. TIMESTAMPDIFF()使用方法:
# 計算兩個日期時間的時間差值
TIMESTAMPDIFF(time_type, begin_time, end_time)
-- time_type參數(最后獲取時間差的單位)
/**
SECOND / 秒
MINUTE / 分鍾
HOUR / 小時
DAY / 天
MONTH / 月
YEAR / 年
*/
-- begin_time 開始時間或開始時間字段
-- end_time 結束時間或結束時間字段
例如:獲取某兩個時間的時間差(結果以秒單位顯示)
TIMESTAMPDIFF(SECOND, '2021-06-06 01:10:10', '2021-06-06 01:11:10')
2. DATE_SUB()使用方法:
# 計算某個日期前的日期具體時間
DATE_SUB(date_time, INTERVAL time_size time_type)
-- date_time參數(以某個時間為參考值)
/**
NOW() 獲取當前系統日期與時間(年月日時分秒)
CURDATE() 獲取當前系統日期(年月日)
或者直接寫一個具體日期值作為參考時間
*/
-- time_size 具體時間數
-- time_type參數(最后獲取時間差的單位)
/**
SECOND / 秒
MINUTE / 分鍾
HOUR / 小時
DAY / 天
MONTH / 月
YEAR / 年
*/
例如:獲取當前日期30天前的日期
DATE_SUB(CURDATE(), INTERVAL 30 DAY)
3. DATE_ADD()使用方法:
# 計算某個日期后的日期具體時間
DATE_ADD(date_time, INTERVAL time_size time_type)
-- date_time參數(以某個時間為參考值)
/**
NOW() 獲取當前系統日期與時間(年月日時分秒)
CURDATE() 獲取當前系統日期(年月日)
或者直接寫一個具體日期值作為參考時間
*/
-- time_size 具體時間數
-- time_type參數(最后獲取時間差的單位)
/**
SECOND / 秒
MINUTE / 分鍾
HOUR / 小時
DAY / 天
MONTH / 月
YEAR / 年
*/
例如:獲取當前日期30天后的日期
DATE_ADD(CURDATE(), INTERVAL 30 DAY)
小拓展
NOW() -- 獲取當前系統日期及時間(年月日時分秒)
CURDATE() -- 獲取當前系統日期(年月日)
DATE('2021-06-06 01:22:10') -- 獲取日期時間的日期(年月日)
TIME('2021-06-06 01:22:10') -- 獲取日期時間的時間(時分秒)