SQL中TIMESTAMPDIFF()計算兩個時間日期的時間差、DATE_SUB()計算某個日期前的具體日期時間、DATE_ADD()計算某個日期后的具體日期時間對日期進行加減操作解析


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') -- 獲取日期時間的時間(時分秒)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM