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


MySQL DATE_SUB方法用法及代碼示例


MySQL 的 DATE_SUB(~) 方法從日期或日期時間值中減去指定的時間間隔。

用法

SELECT DATE_SUB(date, INTERVAL expr unit);

參數

1. date | date/datetime

要從中減去時間間隔的日期/日期時間。

2. expr unit | integer with units

從提供的 date 中減去的間隔及其單位。

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

返回值

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, DATE_SUB(day_enrolled, INTERVAL 2 DAY)
FROM students;



+----------+--------------+----------------------------------------+
| fname    | day_enrolled | DATE_SUB(day_enrolled, INTERVAL 2 DAY) |
+----------+--------------+----------------------------------------+
| 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, DATE_SUB(day_enrolled, INTERVAL 2 MONTH)
FROM students;



+----------+--------------+------------------------------------------+
| fname    | day_enrolled | DATE_SUB(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 DATE_SUB('2020-01-01', INTERVAL -1 DAY);



+-----------------------------------------+
| DATE_SUB('2020-01-01', INTERVAL -1 DAY) |
+-----------------------------------------+
| 2020-01-02                              |
+-----------------------------------------+

請注意,有一個單獨的方法 DATE_ADD(~) 專門用於向日期/日期時間添加間隔。

單位名單

下表列出了支持的單位:

單元

預期的輸入格式

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