當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。