MySQL TIMESTAMPDIFF函数简介
MySQL TIMESTAMPDIFF函数简介
TIMESTAMPDIFF(unit,begin,end);
TIMESTAMPDIFF
函数返回begin-end
的结果,其中begin
和end
是DATE或DATETIME表达式。
TIMESTAMPDIFF
函数允许其参数具有混合类型,例如,begin
是DATE
值,end
可以是DATETIME
值。 如果使用DATE
值,则TIMESTAMPDIFF
函数将其视为时间部分为“00:00:00”
的DATETIME
值。
unit
参数是确定(end-begin
)的结果的单位,表示为整数。 以下是有效单位:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
MySQL TIMESTAMPDIFF函数示例
以下示例将以月份值的形式返回2018-01-01
和2018-06-01
的差值:
mysql> SELECT TIMESTAMPDIFF(MONTH, '2018-01-01', '2018-06-01') result;
+--------+
| result |
+--------+
| 5 |
+--------+
1 row in set
如果您希望看到差值,只需要将unit
参数从MONTH
更改为DAY
,如下所示:
mysql> SELECT TIMESTAMPDIFF(DAY, '2010-01-01', '2010-06-01') result;
+--------+
| result |
+--------+
| 151 |
+--------+
1 row in set
以下语句返回两个DATETIME
值(以分钟为单位)的差异值:
mysql> SELECT TIMESTAMPDIFF(MINUTE, '2018-01-01 10:00:00', '2018-01-01 10:45:00') result;
+--------+
| result |
+--------+
| 45 |
+--------+
1 row in set
请注意,TIMESTAMPDIFF
仅考虑与unit
参数相关的时间部分。 请参阅以下示例:
mysql> SELECT TIMESTAMPDIFF(MINUTE, '2018-01-01 10:00:00', '2018-01-01 10:45:59') result;
+--------+
| result |
+--------+
| 45 |
+--------+
1 row in set
差值应该是45分59秒。 但是,我们将unit
参数传递为MINUTE
,因此,函数按预期返回45分钟。
如果使用SECOND
而不是MINUTE
,则TIMESTAMPDIFF
函数将考虑SECOND
部分,如以下示例所示:
mysql> SELECT TIMESTAMPDIFF(SECOND, '2018-01-01 10:00:00', '2018-01-01 10:45:59') result;
+--------+
| result |
+--------+
| 2759 |
+--------+
1 row in set# 注:45分59秒= 45×60 + 59(秒)= 2759秒
使用MySQL TIMESTAMPDIFF函数计算年龄
首先,我们创建一个名为persons
的新表,用于演示。
USE testdb;
CREATE TABLE persons (id INT AUTO_INCREMENT PRIMARY KEY,full_name VARCHAR(255) NOT NULL,date_of_birth DATE NOT NULL
);
其次,向persons
表中插入一些行:
INSERT INTO persons(full_name, date_of_birth)
VALUES('John Doe', '1990-01-01'),('David Taylor', '1989-06-06'),('Peter Drucker', '1985-03-02'),('Lily Minsu', '1992-05-05'),('Mary William', '1995-12-01');
第三步,使用TIMESTAMPDIFF
来计算persons
表中每个人的年龄:
SELECT id,full_name,date_of_birth,TIMESTAMPDIFF(YEAR,date_of_birth,'2018-01-01') age
FROMpersons;
执行上面查询语句,得到以下结果 -
+----+---------------+---------------+-----+
| id | full_name | date_of_birth | age |
+----+---------------+---------------+-----+
| 1 | John Doe | 1990-01-01 | 28 |
| 2 | David Taylor | 1989-06-06 | 28 |
| 3 | Peter Drucker | 1985-03-02 | 32 |
| 4 | Lily Minsu | 1992-05-05 | 25 |
| 5 | Mary William | 1995-12-01 | 22 |
+----+---------------+---------------+-----+
5 rows in set
SQL
在此语句中,我们计算到2018-01-01
日为止的年龄。如果要计算当前年龄,可以通过NOW函数替换字面值'2018-01-01'
,如下所示:
SELECT id,full_name,date_of_birth,TIMESTAMPDIFF(YEAR,date_of_birth,NOW()) age
FROMpersons;
SQL
执行上面查询语句,得到以下结果 -
+----+---------------+---------------+-----+
| id | full_name | date_of_birth | age |
+----+---------------+---------------+-----+
| 1 | John Doe | 1990-01-01 | 27 |
| 2 | David Taylor | 1989-06-06 | 28 |
| 3 | Peter Drucker | 1985-03-02 | 32 |
| 4 | Lily Minsu | 1992-05-05 | 25 |
| 5 | Mary William | 1995-12-01 | 21 |
+----+---------------+---------------+-----+
5 rows in set
SQL
在写这篇文章时,当前日期是:
2017-08-10
在本教程中,您学习了如何使用MySQL TIMESTAMPDIFF
函数来计算两个DATE
或DATETIME
值之间的差值。
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/mysql/timestampdiff.html
文章时,当前日期是:2017-08-10
在本教程中,您学习了如何使用MySQL TIMESTAMPDIFF
函数来计算两个DATE
或DATETIME
值之间的差值。
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/mysql/timestampdiff.html
MySQL TIMESTAMPDIFF函数简介相关推荐
- mysql timestampdiff_「timestampdiff」MySQL timestampdiff()函数 - seo实验室
timestampdiff MySQL TIMESTAMPDIFF函数简介 下面说明了TIMESTAMPDIFF函数的语法. TIMESTAMPDIFF(unit,begin,end); TIMEST ...
- MySQL timestampdiff()函数
下面说明了TIMESTAMPDIFF函数的语法. TIMESTAMPDIFF(unit,begin,end); TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DA ...
- MySQL INSTR函数简介
MySQL INSTR函数简介 有时,您想要在字符串中查找子字符串或检查字符串中是否存在子字符串.在这种情况下,您可以使用字符串内置INSTR()函数. INSTR()函数返回字符串中子字符串第一次出 ...
- MySQL DENSE_RANK函数简介
MySQL DENSE_RANK函数简介 DENSE_RANK()是一个窗口函数,它为分区或结果集中的每一行分配排名,而排名值没有间隙. 语法: DENSE_RANK() OVER (PARTITIO ...
- [Mysql] TIMESTAMPDIFF函数
TIMESTAMPDIFF函数用于计算两个日期的时间差 语法结构 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 参数说明 unit: 日期比较返回 ...
- MySQL timestampdiff()函数返回两个时间之间的差值
TIMESTAMPDIFF(unit,begin,end); TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式. TIMESTAMP ...
- 数据库系列之mysql 自定义函数function,函数和存储过程的区别
mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...
- Mysql日期函数使用大全
为什么80%的码农都做不了架构师?>>> 1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有 ...
- MySQL last_insert_id()函数
转载自 MySQL last_insert_id()函数 MySQL LAST_INSERT_ID函数简介 在数据库设计中,我们经常使用代理键使用AUTO_INCREMENT属性为主键列生成唯一的整 ...
最新文章
- 时间处理_pandas_时间处理小结
- 10个性鼠标指针主题包_每个人都应该知道的十大电脑鼠标使用技巧,别说你不知道...
- day4 匿名函数、装饰器、生成器、迭代器、内置函数、 json 与 pickle 模块
- 线上集群服务器性能参数查看命令
- Fabricjs使用Group实现组合对象
- 3.非关系型数据库(Nosql)之mongodb:升降序排序,排序分页,$all,$in,$nin,$or,$nor, $exists,游标,更新(update,$set,$unset,$inc)
- sklearn自学指南(part49)--字典学习
- python的变量名有哪些_【python字符串做变量名的方法有哪些?这些方法对python应用很重要】- 环球网校...
- CS231n李飞飞计算机视觉 神经网络训练细节part1下
- 抓包分析数据帧中IP数据包的一些关键字段【南邮网课例题】
- CVPR 2020 论文大盘点-去雨去雾去模糊篇
- GoogleStyle编程代码规范
- 804计算机考研,北京邮电大学804信号系统考研经验
- Spring BackOff退避算法(一)
- Docker安装和基本操作
- php公众号提现功能,公众号赞赏提现
- Unity 3D游戏编程自学#7——NGUI入门
- MySQL--数据库、表基本操作
- AT89C51单片机交通灯仿真图+代码
- FreeModbus应用系列之一
热门文章
- python之 python 起源、语言特点
- 6月1日起,未接入防沉迷系统的游戏将停止运营(附详细接入流程)
- 分众2.0:情人节放大招为重启上市造势?
- 【推荐】HTTP/HTTPS抓包工具——HttpAnalyzer,替代WSockExpert
- 艺术饭 x 版权猫:塔链科技“鲸确”精确云清算支持ArtFin艺术饭之文艺金融战略
- 你们要的代码来了!爬了菊姐的两万条评论——详细代码解读篇
- 考研不歧视双非的院校计算机专业,考研23所良心大学:不歧视“双非”,且保护一志愿。赶紧看过来!...
- “GAN之父”Goodfellow与网友互动:关于GAN的11个问题(附视频)
- 红米note2 刷机 注意问题:
- http测试 java_[软件测试]HttpUnit-测试用例(例子)[ZZ]