码迷,mamicode.com
首页 > 数据库 > 详细

mysql求时间间隔

时间:2020-07-03 21:31:47      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:col   时间间隔   两种   day   使用方法   方法   case   The   select   

MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF。

 

一、基本使用方法

1.1 TIMESTAMPDIFF

/*
TIMESTAMPDIFF特点:
1.第三个参数距离第二个参数的第一个参数的个数。
2.结果是第三个参数-第二个参数后向下取整。
*/


select TIMESTAMPDIFF(DAY, 2020-04-01 23:59:59, 2020-04-02 00:00:00)
--  结果:0


select TIMESTAMPDIFF(DAY, 2020-04-01 00:00:00, 2020-04-02 00:00:00)
--  结果:1


select TIMESTAMPDIFF(DAY, 2020-04-01 00:00:00, 2020-04-02 23:59:59)
--  结果:1

select TIMESTAMPDIFF(DAY, 2020-04-01 00:00:00, 2020-04-03 00:00:00)
--  结果:2

1.2 DATEDIFF

/*
DATEDIFF特点:
取第一个参数的日期-取第二个参数的日期;
解决只与日期有关,二与时间无关。
*/
select DATEDIFF(2020-04-01 23:59:59, 2020-04-02 00:00:00)
--  结果:-1


select DATEDIFF(2020-04-01 00:00:00, 2020-04-02 00:00:00)
--  结果:-1


select DATEDIFF(2020-04-01 00:00:00, 2020-04-02 23:59:59)
--  结果:-1

select DATEDIFF(2020-04-01 00:00:00, 2020-04-03 00:00:00)
--  结果:-2

select DATEDIFF( 2020-04-03,2020-03-01)
--  结果:33

 

二、使用时的注意点。

2.1 进行case 分类时TIMESTAMPDIFF最好不要和=号连用。

比如,我想获得24小时内和24校外两种情况。

case
when TIMESTAMPDIFF(DAY, 时间1, 时间2)<1 then 24小时内
else 24小时外 end as 时间段

如果我选择了 <= 1。由下面的基本使用方法可知。超过24小时的也会被包含进去。

select TIMESTAMPDIFF(DAY, 2020-04-01 00:00:00, 2020-04-02 23:59:59)
--  结果:1

 

mysql求时间间隔

标签:col   时间间隔   两种   day   使用方法   方法   case   The   select   

原文地址:https://www.cnblogs.com/qianslup/p/12745202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!