mysql 计算两个时间差函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaofuqiangmycomm/article/details/84581338

一     mysql中用函数 TIMESTAMPDIFF 计算两个时间差。

语法:TIMESTAMPDIFF(interval,time_start,time_end)

案例1:计算两个时间相隔多少天

SELECT TIMESTAMPDIFF( DAY, '2017-12-01 12:15:12','2018-01-01 7:18:20') day_time


案例2:计算两个时间相隔多少月
SELECT TIMESTAMPDIFF( MONTH, '2017-11-01 12:15:12','2018-01-01 12:15:12') day_time


案例3:计算两个时间相隔多少年
SELECT TIMESTAMPDIFF( YEAR, '2017-01-01 12:15:12','2018-01-01 12:15:12') day_time


案例4:计算两个时间相隔多少星期
SELECT TIMESTAMPDIFF( WEEK, '2018-01-01 12:15:12','2018-01-08 12:15:12') day_time

二、PERIOD_DIFF()函数

     作用:返回两个时间相差的月份数,注意它是前一个时间减后一个时间

     例1:返回 2014-03-20 到 2014-04-10之间的月份数,结果是 -2 。

     SELECT PERIOD_DIFF( DATE_FORMAT('2014-03-20','%Y%m%d') , DATE_FORMAT( '2014-04-10', '%Y%m%d' )          )  FROM  DUAL;

扫描二维码关注公众号,回复: 4569234 查看本文章

     例2:返回 2014-04-10 到 2014-03-20之间的月份数,结果是 2 。

     SELECT PERIOD_DIFF( DATE_FORMAT('2014-04-10','%Y%m%d') , DATE_FORMAT( '2014-03-20', '%Y%m%d' ) )  FROM DUAL;   

三、DATE_SUB()函数

定义:

DATE_SUB() 函数从日期减去指定的时间间隔。

语法:

DATE_SUB(date,INTERVAL expr type)

假设我们有如下的表:

OrderId ProductName OrderDate
1 'Computer' 2008-12-29 16:25:46.635

现在,我们希望从 "OrderDate" 减去 2 天。

我们使用下面的 SELECT 语句:

SELECT OrderId,DATE_SUB (OrderDate,INTERVAL 2 DAY)   AS OrderPayDate  FROM Orders

结果:

OrderId OrderPayDate
1 2008-12-27 16:25:46.635

四、DATE_FORMAT()函数

     作用:格式化日期时间

     SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') FROM DUAL;
 

猜你喜欢

转载自blog.csdn.net/zhaofuqiangmycomm/article/details/84581338