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


MySQL DATEDIFF方法用法及代码示例


MySQL 的 DATEDIFF(~) 方法返回两个日期或日期时间值之间的天数差异。 (即 expr1 - expr2 )

注意

计算中仅使用日期时间的日期部分。

参数

1. expr1 | date/datetime

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

2. expr2 | date/datetime

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

返回值

输入日期/日期时间值之间的天数差异 ( expr1 - expr2 )。

例子

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

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, NOW(), DATEDIFF(NOW(), day_enrolled)
FROM students;



+----------+---------------------+-------------------------------+
| fname    | NOW()               | DATEDIFF(NOW(), day_enrolled) |
+----------+---------------------+-------------------------------+
| Sky      | 2020-05-20 13:57:53 |                          1630 |
| Ben      | 2020-05-20 13:57:53 |                          1491 |
| Travis   | 2020-05-20 13:57:53 |                           645 |
| Arthur   | 2020-05-20 13:57:53 |                          1510 |
| Benjamin | 2020-05-20 13:57:53 |                          2331 |
+----------+---------------------+-------------------------------+

要返回截至 2020 年 4 月 16 日注册时间超过 1500 天的学生:

SELECT fname, DATEDIFF('2020-04-16', day_enrolled)
FROM students
WHERE DATEDIFF('2020-04-16', day_enrolled) > 1500;



+----------+--------------------------------------+
| fname    | DATEDIFF('2020-04-16', day_enrolled) |
+----------+--------------------------------------+
| Sky      |                                 1596 |
| Benjamin |                                 2297 |
+----------+--------------------------------------+

相关用法


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