mysql中TIMESTAMPDIFF案例详解
作者:baiyaoliang7445 发布时间:2024-01-18 05:56:49
1. Syntax
TIMESTAMPDIFF(unit,begin,end); 根据单位返回时间差,对于传入的begin和end不需要相同的数据结构,可以存在一个为Date一个DateTime
2. Unit
支持的单位有
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
3. Example
下面这个例子是对于TIMESTAMPDIFF最基本的用法,
3.1 求 2017-01-01 - 2017-02-01 之间有几个月
SELECT TIMESTAMPDIFF(MONTH, '2017-01-01', '2017-02-01') as result;
+--------+
| result |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
3.2 求 2017-01-01 - 2017-02-01 之间有几天
SELECT TIMESTAMPDIFF(DAY, '2017-01-01', '2017-02-01') as result;
+--------+
| result |
+--------+
| 31 |
+--------+
1 row in set (0.00 sec)
3.3 求 2017-01-01 08: 00:00 - 2017-01-01 08: 55:00 之间有几分钟
SELECT TIMESTAMPDIFF(MINUTE, '2017-01-01 08:00:00', '2017-01-01 08:55:00') result;
+--------+
| result |
+--------+
| 55 |
+--------+
1 row in set (0.00 sec)
3.4 求 2017-01-01 08: 00:00 - 2017-01-01 08: 55:33 之间有几分钟
SELECT TIMESTAMPDIFF(MINUTE, '2017-01-01 08:00:00', '2017-01-01 08:55:33') result;
+--------+
| result |
+--------+
| 55 |
+--------+
1 row in set (0.00 sec)
3.5 对于DAY, MINUTE进行计算DIFF时,会直接将相对应的DAY,MINUTE相减
3.6 对于 SECOND 会怎样计算呢
SELECT TIMESTAMPDIFF(SECOND, '2017-01-01 08:00:00', '2017-01-01 08:55:33') result;
55 * 60 + 33 = 3333
+--------+
| result |
+--------+
| 3333 |
+--------+
1 row in set (0.00 sec)
3.7 如何求数据库中两个date字段的diff
3.7.1 建表
CREATE TABLE demo (id INT AUTO_INCREMENT PRIMARY KEY, start_time DATE NOT NULL, end_time DATE NOT NULL);Query OK, 0 rows affected (0.10 sec)
3.7.2 添加数据
INSERT INTO demo(start_time, end_time)VALUES('1983-01-01', '1990-01-01'),('1983-01-01', '1989-06-06'),('1983-01-01', '1985-03-02'),('1983-01-01', '1992-05-05'),('1983-01-01 11:12:11', '1995-12-01');
3.7.3 直接query数据
select * from demo;+----+------------+------------+| id | start_time | end_time |+----+------------+------------+| 1 | 1983-01-01 | 1990-01-01 || 2 | 1983-01-01 | 1989-06-06 || 3 | 1983-01-01 | 1985-03-02 || 4 | 1983-01-01 | 1992-05-05 || 5 | 1983-01-01 | 1995-12-01 |+----+------------+------------+5 rows in set (0.00 sec)
3.7.4 计算duration
select *, TIMESTAMPDIFF(YEAR, start_time, end_time) as duration from demo;+----+------------+------------+----------+| id | start_time | end_time | duration |+----+------------+------------+----------+| 1 | 1983-01-01 | 1990-01-01 | 7 || 2 | 1983-01-01 | 1989-06-06 | 6 || 3 | 1983-01-01 | 1985-03-02 | 2 || 4 | 1983-01-01 | 1992-05-05 | 9 || 5 | 1983-01-01 | 1995-12-01 | 12 |+----+------------+------------+----------+5 rows in set (0.00 sec)
3.7.5 其他应用
select *, if(TIMESTAMPDIFF(YEAR, end_time, CURRENT_TIMESTAMP())< 26 ,'< 26','>= 26') as result from demo;+----+------------+------------+--------+| id | start_time | end_time | result |+----+------------+------------+--------+| 1 | 1983-01-01 | 1990-01-01 | >= 26 || 2 | 1983-01-01 | 1989-06-06 | >= 26 || 3 | 1983-01-01 | 1985-03-02 | >= 26 || 4 | 1983-01-01 | 1992-05-05 | < 26 || 5 | 1983-01-01 | 1995-12-01 | < 26 |+----+------------+------------+--------+5 rows in set (0.00 sec)
来源:https://blog.csdn.net/baiyaoliang7445/article/details/102218767


猜你喜欢
- 这篇文章主要介绍了python垃圾回收机制(GC)原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 【简 介】熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style来调用Style标准,也可以在
- MYSQL官方提供了Installer方式安装MYSQL服务以及其他组件,使的Windows下安装,卸载,配置MYSQL变得特别简单。1.
- 1069错误(由于登录失败而无法启动服务)解决方法在本版面出现这个问题的频率也算是很高的了,新手通常会比较多遇到这个问题原因很简单,安装SQ
- 模板的继承完美在写html的时候会发现,自己多个html文件中又好多东西是一样的,包括静插件的引入 还有有些简单的css样式都不需要修改,这
- 如下所示:sudo easy_install requests出现如图所示信息done即可愉快的使用 requests了来源:https:/
- 点击进入Lombok官网下载Lombok jar包使用Lombok可能需要注意的地方(1)、当你的IDE是Idea时,要注意你的Idea是支
- 在开发的时候,用户要求在认证的时候自动添加xadmin登录账户和分配组权限from django.contrib.auth.models i
- 文章先介绍了关于俄罗斯方块游戏的几个术语。边框——由10*20个空格组成,方块就落在这里面。盒子——组成方块的其中小方块,是组成方块的基本单
- filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为Tru
- 在python3中按数据类型的可变与不可变大致分为如下几种类型:不可变数据(3个):Number(数字)、String(字符串)、Tuple
- 通过show variables like 'character_set%%';查看编码修改mysql的编码方式可以有以下几
- 1.安装python3yum -y install wget gcc make zlib-devel readline-devel bzip
- 1. MySQL Connector1.1 创建连接import mysql.connector config={ "
- 定义一个绘制甘特图的类# -*- coding: utf-8 -*-from datetime import datetimeimport
- SQL Server判断语句(IF ELSE/CASE WHEN )执行顺序是 – 从上至下 – 从左至右 --,所当上一个条件满足时(无论
- 前言相信大家都应该有所体会,在平时经常会遇到处理 Excel 表格数据的情况,人工处理起来实在是太麻烦了,我们可以使用 Python 来解决
- .data文件格式.data文件是用来存储数据的一种文件格式。之前通常数据是用逗号隔开或tab健隔开的格式,现在也可能是文本文件格式或二进制
- ppt要想完美的转pdf,图片,还是需要在windows下面来操作。1,安装python3.5.1下载地址Windows x86-64 ex
- Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学