当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL TIMESTAMPDIFF方法用法及代码示例


MySQL 的 TIMESTAMPDIFF(~) 方法返回指定单位中两个日期或日期时间表达式之间的时间差。 (即 datetime_expr2 - datetime_expr1 )。

参数

1. unit | unit

返回时间差的单位。

可能的单位值

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

2. datetime_expr1 | date/datetime

要减去的日期/日期时间值。

3. datetime_expr2 | date/datetime

要从中减去的日期/日期时间。

返回值

指定时间单位内两个输入日期/日期时间表达式之间的时间差。

例子

考虑下表有关一些学生的信息:

student_id

名称

名字

day_enrolled

年龄

用户名

1

Sky

Towner

2015-12-03

17

stowner1

2

Ben

Davis

2016-04-20

19

bdavis2

3

Travis

Apple

2018-08-14

18

tapple3

4

Arthur

David

2016-04-01

16

adavid4

5

Benjamin

Town

2014-01-01

17

btown5

可以使用此处的代码创建上述示例表。

基本用法

要返回学生入学日期和千禧年开始日期之间的差异(以月为单位):

SELECT fname, day_enrolled, TIMESTAMPDIFF(MONTH, '2000-01-01', day_enrolled)
FROM students;



+----------+--------------+--------------------------------------------------+
| fname    | day_enrolled | TIMESTAMPDIFF(MONTH, '2000-01-01', day_enrolled) |
+----------+--------------+--------------------------------------------------+
| Sky      | 2015-12-03   |                                              191 |
| Ben      | 2016-04-20   |                                              195 |
| Travis   | 2018-08-14   |                                              223 |
| Arthur   | 2016-04-01   |                                              195 |
| Benjamin | 2014-01-01   |                                              168 |
+----------+--------------+--------------------------------------------------+

要返回 '2016-04-29 18:00:00' 和学生注册日期之间的差异(以小时为单位):

SELECT fname, day_enrolled, TIMESTAMPDIFF(HOUR, day_enrolled, '2016-04-29 18:00:00')
FROM students;



+----------+--------------+----------------------------------------------------------+
| fname    | day_enrolled | TIMESTAMPDIFF(HOUR, day_enrolled, '2016-04-29 18:00:00') |
+----------+--------------+----------------------------------------------------------+
| Sky      | 2015-12-03   |                                                     3570 |
| Ben      | 2016-04-20   |                                                      234 |
| Travis   | 2018-08-14   |                                                   -20070 |
| Arthur   | 2016-04-01   |                                                      690 |
| Benjamin | 2014-01-01   |                                                    20394 |
+----------+--------------+----------------------------------------------------------+

请注意,将日期与日期时间进行比较时,假定日期具有时间部分'00:00:00'

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | TIMESTAMPDIFF method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。