MySQL 的 SUBDATE(~)
方法從日期或日期時間值中減去指定的間隔。
用法
SELECT SUBDATE(date, INTERVAL expr unit);
SELECT SUBDATE(date, days);
參數
1. date
| date/datetime
要從中減去時間間隔的日期或日期時間。
2. days
| integer
從提供的 date
中減去的天數。
3. expr unit
| integer with units
從提供的 date
中減去的間隔及其單位。
請參閱頁麵底部的“單位列表”,了解有效的單位列表。
警告
必須指定days
或expr unit
參數,它們不能一起使用。
返回值
從 date
減去指定間隔的結果。
例子
考慮以下有關某些學生的信息:
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 |
可以使用此處的代碼創建上述示例表。
基本用法
從學生注冊日期減去 2 天:
SELECT fname, day_enrolled, SUBDATE(day_enrolled, 2)
FROM students;
+----------+--------------+--------------------------+
| fname | day_enrolled | SUBDATE(day_enrolled, 2) |
+----------+--------------+--------------------------+
| Sky | 2015-12-03 | 2015-12-01 |
| Ben | 2016-04-20 | 2016-04-18 |
| Travis | 2018-08-14 | 2018-08-12 |
| Arthur | 2016-04-01 | 2016-03-30 |
| Benjamin | 2014-01-01 | 2013-12-30 |
+----------+--------------+--------------------------+
從學生入學日期減去 2 個月:
SELECT fname, day_enrolled, SUBDATE(day_enrolled, INTERVAL 2 MONTH)
FROM students;
+----------+--------------+-----------------------------------------+
| fname | day_enrolled | SUBDATE(day_enrolled, INTERVAL 2 MONTH) |
+----------+--------------+-----------------------------------------+
| Sky | 2015-12-03 | 2015-10-03 |
| Ben | 2016-04-20 | 2016-02-20 |
| Travis | 2018-08-14 | 2018-06-14 |
| Arthur | 2016-04-01 | 2016-02-01 |
| Benjamin | 2014-01-01 | 2013-11-01 |
+----------+--------------+-----------------------------------------+
負間隔
要將日期添加 1 天:
SELECT SUBDATE('2020-01-01', -1);
+---------------------------+
| SUBDATE('2020-01-01', -1) |
+---------------------------+
| 2020-01-02 |
+---------------------------+
請注意,有一個單獨的方法 ADDDATE(~) 專門用於向日期/日期時間添加間隔。
單位名單
下表列出了支持的單位:
單元 |
預期的輸入格式 |
---|---|
MICROSECOND |
|
SECOND |
|
MINUTE |
|
HOUR |
|
DAY |
|
WEEK |
|
MONTH |
|
QUARTER |
|
YEAR |
|
SECOND_MICROSECOND |
|
MINUTE_MICROSECOND |
|
MINUTE_SECOND |
|
HOUR_MICROSECOND |
|
HOUR_SECOND |
|
HOUR_MINUTE |
|
DAY_MICROSECOND |
|
DAY_SECOND |
|
DAY_MINUTE |
|
DAY_HOUR |
|
YEAR_MONTH |
|
相關用法
- MySQL SUBDATE()用法及代碼示例
- MySQL SUBSTR方法用法及代碼示例
- MySQL SUBSTRING方法用法及代碼示例
- MySQL SUBSTRING_INDEX方法用法及代碼示例
- MySQL SUBSTR()用法及代碼示例
- MySQL SUBSTRING()用法及代碼示例
- MySQL SUBTIME方法用法及代碼示例
- MySQL SUBSTRING_INDEX()用法及代碼示例
- MySQL SUM()用法及代碼示例
- MySQL SUM方法用法及代碼示例
- MySQL SELECT用法及代碼示例
- MySQL STDDEV()用法及代碼示例
- MySQL STR_TO_DATE方法用法及代碼示例
- MySQL STD()用法及代碼示例
- MySQL SESSION_USER( )用法及代碼示例
- MySQL SPACE()用法及代碼示例
- MySQL STDDEV_POP方法用法及代碼示例
- MySQL SIN方法用法及代碼示例
- MySQL Sysdate()用法及代碼示例
- MySQL SIGN方法用法及代碼示例
- MySQL SEC_TO_TIME方法用法及代碼示例
- MySQL SEC_TO_TIME()用法及代碼示例
- MySQL STDDEV_POP()用法及代碼示例
- MySQL SOUNDEX()用法及代碼示例
- MySQL SIN()、COS()用法及代碼示例
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | SUBDATE method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。