MySQL计算两个日期相差的年月日

一、首先介绍一种常用的日期差,在MySQL中只能默认只能计算天数差:

DATEDIFF(结束时间,开始时间)

SELECT DATEDIFF('2020-06-13','2020-06-12') AS DiffDate

下面这个加了个日期格式化

SELECT DATEDIFF('2020-06-13',DATE_FORMAT(NOW(),'%Y-%m-%d')) AS DiffDate

二、这种是比较少用但是查询功能多的MySQL自带的日期函数,可以计算两个日期相差的年,季,月,周,日,时,分,秒、当前日期增加或者减少一天、一周。

TIMESTAMPDIFF(类型,开始时间,结束时间)

相差的年:

SELECT TIMESTAMPDIFF(YEAR,'2019-06-12 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')) AS StampdiffTime

相差的天: 

SELECT TIMESTAMPDIFF(DAY,'2019-06-12 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')) AS StampdiffTime

这块就举两个例子,其他的按照下面修改类型就可以。

年        YEAR  
季度    QUARTER  
月        MONTH  
星期    WEEK  
天        DAY  
小时    HOUR  
分钟    MINUTE  
秒        SECOND  
毫秒    FRAC_SECOND 

 

你可能感兴趣的:(数据库多表查询)