MySQL Calculate the number of days months and years between two dates
- 2021-12-11 19:16:50
- OfStack
MySQL's own date function TIMESTAMPDIFF calculates the difference between two dates in seconds, minutes, hours, days, weeks, quarters, months, years, the current date increases or decreases by 1 day, 1 week, and so on.
SELECT TIMESTAMPDIFF( Type , Start time , End time )
Number of seconds difference:
SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Minutes of difference:
SELECT TIMESTAMPDIFF(MINUTE,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Number of hours of difference:
SELECT TIMESTAMPDIFF(HOUR,'1993-03-23 00:00:00 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Days of difference:
SELECT TIMESTAMPDIFF(DAY,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Number of weeks of difference:
SELECT TIMESTAMPDIFF(WEEK,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Number of quarters difference:
SELECT TIMESTAMPDIFF(QUARTER,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Number of months difference:
SELECT TIMESTAMPDIFF(MONTH,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Number of years difference:
SELECT TIMESTAMPDIFF(YEAR,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
Get the current date:
SELECT NOW()
SELECT CURDATE()
Increases current date by 1 day:
SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
0
Current date reduced by 1 day:
SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
1
Increase current date by 1 week:
SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
2
Current date increased by January:
SELECT DATE_SUB(CURDATE(),INTERVAL -1 MONTH)
FRAC_SECOND Milliseconds
SECOND Seconds
MINUTE Minutes
HOUR Hours
DAY Days
WEEK Week
MONTH Month
QUARTER Quarterly
YEAR Year
Summarize