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


MySQL SUBDATE方法用法及代碼示例


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 中減去的間隔及其單位。

請參閱頁麵底部的“單位列表”,了解有效的單位列表。

警告

必須指定daysexpr 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

MICROSECONDS

SECOND

SECONDS

MINUTE

MINUTES

HOUR

HOURS

DAY

DAYS

WEEK

WEEKS

MONTH

MONTHS

QUARTER

QUARTERS

YEAR

YEARS

SECOND_MICROSECOND

'SECONDS.MICROSECONDS'

MINUTE_MICROSECOND

'MINUTES:SECONDS.MICROSECONDS'

MINUTE_SECOND

'MINUTES:SECONDS'

HOUR_MICROSECOND

'HOURS:MINUTES:SECONDS.MICROSECONDS'

HOUR_SECOND

'HOURS:MINUTES:SECONDS'

HOUR_MINUTE

'HOURS:MINUTES'

DAY_MICROSECOND

'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'

DAY_SECOND

'DAYS HOURS:MINUTES:SECONDS'

DAY_MINUTE

'DAYS HOURS:MINUTES'

DAY_HOUR

'DAYS HOURS'

YEAR_MONTH

'YEARS-MONTHS'

相關用法


注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | SUBDATE method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。