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'
相關用法
- MySQL TIMESTAMPDIFF()用法及代碼示例
- MySQL TIMESTAMP方法用法及代碼示例
- MySQL TIMESTAMPADD方法用法及代碼示例
- MySQL TIME_FORMAT方法用法及代碼示例
- MySQL TIMEDIFF方法用法及代碼示例
- MySQL TIME方法用法及代碼示例
- MySQL TIME_TO_SEC方法用法及代碼示例
- MySQL TIME用法及代碼示例
- MySQL TIME()用法及代碼示例
- MySQL TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT用法及代碼示例
- MySQL TO_DAYS方法用法及代碼示例
- MySQL TRUNCATE方法用法及代碼示例
- MySQL TAN方法用法及代碼示例
- MySQL TRIM()用法及代碼示例
- MySQL TAN()用法及代碼示例
- MySQL TO_BASE64方法用法及代碼示例
- MySQL TO_SECONDS方法用法及代碼示例
- MySQL Trim()用法及代碼示例
- MySQL TRUNCATE用法及代碼示例
- MySQL TRUNCATE()用法及代碼示例
- MySQL TRIM方法用法及代碼示例
- MySQL ROUND()用法及代碼示例
- MySQL REPEAT()用法及代碼示例
- MySQL POWER()用法及代碼示例
- MySQL LEAD() and LAG()用法及代碼示例
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | TIMESTAMPDIFF method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。