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等。
它可以是以下之一:
| 单位 | 兼容性 | 
|---|---|
| MICROSECOND | MySQL 4.1.1+ | 
| SECOND | MySQL 3.2.3+ | 
| MINUTE | MySQL 3.2.3+ | 
| HOUR | MySQL 3.2.3+ | 
| DAY | MySQL 3.2.3+ | 
| WEEK | MySQL 5+ | 
| MONTH | MySQL 3.2.3+ | 
| QUARTER | MySQL 5+ | 
| YEAR | MySQL 3.2.3+ | 
| SECOND_MICROSECOND | MySQL 4.1.1+ | 
| MINUTE_MICROSECOND | MySQL 4.1.1+ | 
| MINUTE_SECOND | MySQL 4.1.1+ | 
| HOUR_MICROSECOND | MySQL 4.1.1+ | 
| HOUR_SECOND | MySQL 4.1.1+ | 
| HOUR_MINUTE | MySQL 3.2.3+ | 
| DAY_MICROSECOND | MySQL 4.1.1+ | 
| DAY_SECOND | MySQL 3.2.3+ | 
| DAY_MINUTE | MySQL 3.2.3+ | 
| DAY_HOUR | MySQL 3.2.3+ | 
| YEAR_MONTH | MySQL 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'

