最近突然遇到朋友问,怎么计算两个时间间隔的小时数,说真的,在这个需求之前,做的大部分是根据时间排序,查找时间,以时间分组,时间类型转换等基础的操作。有很多,就比如计算间隔时间就没有过多的涉及。

创建表如下:

CREATE TABLE `date` (`id` int(11) NOT NULL AUTO_INCREMENT,`start` datetime NOT NULL,`end` datetime NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

插入测试数据:

INSERT INTO `date` (`id`, `start`, `end`) VALUES
(1, '2017-09-03 00:20:00', '2017-09-12 02:01:00');

首先,mysql获取差值有很多方法。如提供了以天为单位的 datediff,以及以时间格式直接展示的 timediff。

下面依次介绍。

timediff(end,start)

SELECT timediff(end,start) FROM `date` 

datediff(end,start)

SELECT datediff(end,start) FROM `date`

如果想获取时间可以使用字符串裁剪函数。

SELECT substring_index(timediff(end,start), ':', '1') FROM `date`

mysql 同样支持内置函数直接获取

timestampdiff(hour, start, end)

SELECT timestampdiff(hour, start, end) FROM `date`

mysql datetime 计算相隔时间相关推荐

  1. 自动生成 指定范围日期 生成字符串格式时间日期 --计算连续时间 SQL

    DECLARE @StartTime AS DATETIME SET @StartTime= '2016-5-10 ' DECLARE @t TABLE(dDate DATETIME) --计算连续时 ...

  2. mysql计算1天后的时间_mysql 计算某个时间,多少天后,多少个月后时间戳

    id start_time period_ytpe period_value 1 1461427200 day 3 2 1461427200 month 2 如上表, start_time 表示开始时 ...

  3. mysql计算多少天后的日期_数据库 - mysql 计算某个时间,多少天后,多少个月后时间戳...

    数据库设计(一): 数据库设计步骤:  需求分析-------->  逻辑设计 ------------> 物理设计----------->维护优化. [1]需求分析:分析需要存储的 ...

  4. mysql计算1000天后的日期_mysql,数据库_mysql 计算某个时间,多少天后,多少个月后时间戳,mysql,数据库,数据库设计 - phpStudy...

    mysql 计算某个时间,多少天后,多少个月后时间戳 id start_time period_ytpe period_value 1 1461427200 day 3 2 1461427200 mo ...

  5. mysql datetime最小值_MySQL的5种时间类型的比较

    日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 23 ...

  6. php和mysql时间类型,MySQL_Mysql中的Datetime和Timestamp比较,mysql中用于表示时间的三种类 - phpStudy...

    Mysql中的Datetime和Timestamp比较 mysql中用于表示时间的三种类型date, datetime, timestamp (如果算上int的话,四种) 比较容易混淆,下面就比较一下 ...

  7. MySQL日期数据类型、时间类型使用总结

    转载链接:http://www.jb51.net/article/23966.htm MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ----- ...

  8. mysql 日期和时间函数_介绍一下mysql的日期和时间函数

    介绍一下mysql的日期和时间函数 mysql> SELECT PERIOD_DIFF(9802,199703); -> 11 DATE_ADD(date,INTERVAL expr ty ...

  9. MySQL中常用日期时间函数及获得

    MySQL中常用日期时间函数: 下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DA ...

最新文章

  1. 回顾与展望:大热的AutoML究竟是什么? | 技术头条
  2. Web压力测试系统 nGrinder
  3. 关于共享单车的供电问题如何解决?
  4. java c static块_java静态块
  5. java对xml文件做增删改查------摘录
  6. ES6 Proxy兼容polyfill实现
  7. [转载]基于Aaf的数据拆分
  8. nodejs nodemailer
  9. java常见面试题——java常见笔试题
  10. Java的arrays运用
  11. IDEA导入一个项目
  12. 远古战争java_原始人单机手游 分享问一款原始人族群生存
  13. 智能优化算法——篇1
  14. 算法实现- 数字转金额大写
  15. 证件照怎么裁剪?国考证件照的尺寸是多少?
  16. 关于几种常用的脱壳方法总结
  17. 制作文字水印图片、图片水印
  18. Overture五线谱打曲谱用得上的排版技巧
  19. 盛诺基科创板IPO被终止:曾拟募资20亿 IDG与启明是股东
  20. Java最牛教材!javaexcel合并单元格样式

热门文章

  1. 大数定律及中心极限定理
  2. 千万级支付对账系统怎么玩(上篇)?
  3. 购买商品复选框全选 单选
  4. BABvsBABAB
  5. WebStorm2018破解(2018年10月9日  16:13实测有效)
  6. 这时的我已经激动的连话都说不出来了
  7. R语言心得笔记(实时更新)
  8. 浅谈大数据之足球盘口赔率水位分析的思路与神准预测技巧(一)
  9. python安装第三方库错误No matching distribution found for cfg
  10. php和mhp,达人专业评测容声BDBC-516MHP质量怎么样呢?评测好不好?老铁吐露实情...