MySQL DATE_SUB函数

时间:2019-02-04 12:52:43  来源:igfitidea点击:

本MySQL教程通过语法和示例说明了如何使用MySQL DATE_SUB函数。

描述

MySQL DATE_SUB函数返回一个减去一定的时间/日期间隔的日期。

语法

MySQL中DATE_SUB函数的语法为:

DATE_SUB( date, INTERVAL value unit )

date需要添加日期间隔的日期。
value要加的时间/日期间隔的值。
unit时间间隔单位, 比如DAY,MONTH,MINUTE,HOUR等。
它可以是以下之一:

单位兼容性
MICROSECONDMySQL 4.1.1+
SECONDMySQL 3.2.3+
MINUTEMySQL 3.2.3+
HOURMySQL 3.2.3+
DAYMySQL 3.2.3+
WEEKMySQL 5+
MONTHMySQL 3.2.3+
QUARTERMySQL 5+
YEARMySQL 3.2.3+
SECOND_MICROSECONDMySQL 4.1.1+
MINUTE_MICROSECONDMySQL 4.1.1+
MINUTE_SECONDMySQL 4.1.1+
HOUR_MICROSECONDMySQL 4.1.1+
HOUR_SECONDMySQL 4.1.1+
HOUR_MINUTEMySQL 3.2.3+
DAY_MICROSECONDMySQL 4.1.1+
DAY_SECONDMySQL 3.2.3+
DAY_MINUTEMySQL 3.2.3+
DAY_HOURMySQL 3.2.3+
YEAR_MONTHMySQL 3.2.3+

使用负数参数的DATE_SUB函数相当于 DATE_ADD函数

示例

MySQL DATE_SUB函数示例

mysql> SELECT DATE_SUB('2012-02-13 08:44:21.000001', INTERVAL 10 MICROSECOND);
Result: '2012-02-13 08:44:20.999991'

mysql> SELECT DATE_SUB('2012-02-13 08:44:21', INTERVAL 20 SECOND);
Result: '2012-02-13 08:44:01'

mysql> SELECT DATE_SUB('2012-02-13 08:44:21', INTERVAL 25 MINUTE);
Result: '2012-02-13 08:19:21'

mysql> SELECT DATE_SUB('2012-02-13 08:44:21', INTERVAL 2 HOUR);
Result: '2012-02-13 06:44:21'

mysql> SELECT DATE_SUB('2012-02-13', INTERVAL -10 DAY);
Result: '2012-02-23'

mysql> SELECT DATE_SUB('2012-02-13', INTERVAL 12 WEEK);
Result: '2011-11-21'