mysql查询获得两个时间的时间差方式

 更新时间:2022年05月07日 14:27:20   作者:专业前端小白  
这篇文章主要介绍了mysql查询获得两个时间的时间差方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

获得当前时间和另一时间的时间差

SELECT TIMESTAMPDIFF(SECOND,(select last_locationTime from municipal_employee where employee_id=9),now()) as diffTime;

mysql的

TIMESTAMPDIFF(SECOND,starttime,endtime)

函数获得时间差,得到的可以是DAY/天,HOUR/小时,MINUTE/分钟,SECOND/秒。

其中starttime为时间小的那个时间,endtime为时间大的时间。

now()函数为获取当前日期时间

mysql最全的计算时间差

计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现。

函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。

其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 。

该参数具体释义如下:

  • FRAC_SECOND   表示间隔是毫秒
  • SECOND   秒
  • MINUTE   分钟
  • HOUR   小时
  • DAY   天
  • WEEK   星期
  • MONTH   月
  • QUARTER   季度
  • YEAR   年

例如:

计算两日期之间相差多少周

select timestampdiff(week,'2011-09-30','2015-05-04');

计算两日期之间相差多少天

select timestampdiff(day,'2011-09-30','2015-05-04');

另外计算两日期或时间之间相差多少天还可以使用 to_days 函数,但是该函数不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。

因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。

具体用法如:

to_days(end_time) - to_days(start_time);

计算两日期/时间之间相差的秒数

select timestampdiff(SECOND,'2011-09-30','2015-05-04');

另外还可以使用 MySql 内置函数 UNIX_TIMESTAMP 实现,如下:

SELECT UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time);

计算两日期/时间之间相差的时分数

select timestampdiff(MINUTE,'2011-09-30','2015-05-04');

另外还可以如下实现:

SELECT SEC_TO_TIME(UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time));

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL中or用法及mybatis or用法详解

    MySQL中or用法及mybatis or用法详解

    在SQL查询语句中,OR关键字用于连接两个或多个条件,表示满足其中一个条件即可,当使用OR时,如果第一个条件为真,则不会检查第二个条件;如果第一个条件为假,则会检查第二个条件,这篇文章主要介绍了MySQL中or用法及mybatis or用法总结,需要的朋友可以参考下
    2024-05-05
  • ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/tmp/mysql.sock''

    ERROR 2002 (HY000): Can''t connect to local MySQL server thr

    mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?本文给大家介绍的非常详细,需要的朋友参考下吧
    2019-11-11
  • Mysql5.7修改root密码教程

    Mysql5.7修改root密码教程

    本文给大家分享的是个人在使用mysql5.7修改root密码的时候遇到的问题,以及解决方法,推荐给有相同需求的小伙伴参考下。
    2016-02-02
  • 通过缓存+SQL修改优雅地优化慢查询

    通过缓存+SQL修改优雅地优化慢查询

    本文通过介绍缓存的基本原理和SQL语句的优化手段,以及实际案例的分析,为读者提供了一种简单而有效的优化思路。读者可以通过本文了解到如何在不修改程序代码的情况下,通过巧妙地运用缓存和SQL优化技巧,提高程序的性能和响应速度。
    2023-04-04
  • MySql中having字句对组记录进行筛选使用说明

    MySql中having字句对组记录进行筛选使用说明

    having字句可以让我们筛选成组后的各种数据
    2012-12-12
  • MySQL数据类型中DECIMAL的用法实例详解

    MySQL数据类型中DECIMAL的用法实例详解

    这篇文章主要介绍了MySQL数据类型中DECIMAL的用法实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • 详解关于MySQL 8.0走过的坑

    详解关于MySQL 8.0走过的坑

    这篇文章主要介绍了详解关于MySQL 8.0走过的坑,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详解mysql中if函数的正确使用姿势

    详解mysql中if函数的正确使用姿势

    这篇文章主要介绍了详解mysql中if函数的正确使用姿势,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 提升MySQL查询效率及查询速度优化的四个方法详析

    提升MySQL查询效率及查询速度优化的四个方法详析

    查询语句的优化是提高MySQL查询速度的重要方法,可以通过使用JOIN语句、子查询、优化where子句等方式来减少查询的时间,下面这篇文章主要给大家介绍了关于提升MySQL查询效率及查询速度优化的四个方法,需要的朋友可以参考下
    2023-04-04
  • mysql中的json处理方案

    mysql中的json处理方案

    这篇文章主要介绍了mysql中的json处理方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08

最新评论