MySQL SUBDATE函数
时间:2019-02-04 12:52:45 来源:igfitidea点击:
本MySQL教程通过语法和示例说明了如何使用MySQL SUBDATE函数。
描述
MySQL SUBDATE函数用于计算一个日期减去一定的时间/日期间隔后得到的日期。
语法
MySQL中SUBDATE函数的语法为:
SUBDATE( date, INTERVAL value unit )
或者
SUBDATE( date, days )
date指定日期
days要从日期中减去的天数(第二种语法)。
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+ |
示例
mysql> SELECT SUBDATE('2014-02-13 08:44:21.000001', INTERVAL 4 MICROSECOND);
Result: '2014-02-13 08:44:20.999997'
mysql> SELECT SUBDATE('2014-02-13 08:44:21', INTERVAL 20 SECOND);
Result: '2014-02-13 08:44:01'
mysql> SELECT SUBDATE('2014-02-13 08:44:21', INTERVAL 25 MINUTE);
Result: '2014-02-13 08:19:21'
mysql> SELECT SUBDATE('2014-02-13 08:44:21', INTERVAL 2 HOUR);
Result: '2014-02-13 06:44:21'
mysql> SELECT SUBDATE('2014-02-13', INTERVAL 10 DAY);
Result: '2014-02-03'
mysql> SELECT SUBDATE('2014-02-13', 10);
Result: '2014-02-03'

