MySQL DATE_ADD() 函数
MySQL DATE_ADD() 函数用于向日期添加指定的时间间隔
DATE_ADD(date,INTERVAL expr type)
| 参数 | 说明 |
|---|---|
| date | 合法的日期表达式 |
| expr | 希望添加的时间间隔 |
| type | 时间间隔的类型 |
type 参数可选值如下
| 值 | 说明 |
|---|---|
| MICROSECOND | 毫秒数 |
| SECOND | 秒数 |
| MINUTE | 分钟数 |
| HOUR | 小时数 |
| DAY | 天数 |
| WEEK | 周数 |
| MONTH | 月数 |
| QUARTER | 季度数 |
| YEAR | 年数 |
| SECOND_MICROSECOND | 秒.豪秒 |
| MINUTE_MICROSECOND | 分.豪秒 |
| MINUTE_SECOND | 分.秒 |
| HOUR_MICROSECOND | 小时.豪秒 |
| HOUR_SECOND | 小时.秒 |
| HOUR_MINUTE | 小时.分 |
| DAY_MICROSECOND | 天.豪秒 |
| DAY_SECOND | 天.秒 |
| DAY_MINUTE | 天.分钟 |
| DAY_HOUR | 天.小时 |
| YEAR_MONTH | 年.月 |
范例
我们先使用 NOW() 函数获取当前的时间
SELECT NOW();
输出结果如下
mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2017-05-18 09:01:25 | +---------------------+
然后使用 DATE_ADD() 来获得 30 天后的时间
SELECT DATE_ADD(NOW(),INTERVAL 30 DAY );
输出结果如下
mysql> SELECT DATE_ADD(NOW(),INTERVAL 30 DAY ); +----------------------------------+ | DATE_ADD(NOW(),INTERVAL 30 DAY ) | +----------------------------------+ | 2017-06-17 09:03:49 | +----------------------------------+
如果我们想给当前时间加上 1天又1小时,那么可以使用下面的 SQL 语句
SELECT NOW(), DATE_ADD(NOW(),INTERVAL 1.1 DAY_HOUR );
输出结果如下
mysql> SELECT NOW(), DATE_ADD(NOW(),INTERVAL 1.1 DAY_HOUR ); +---------------------+----------------------------------------+ | NOW() | DATE_ADD(NOW(),INTERVAL 1.1 DAY_HOUR ) | +---------------------+----------------------------------------+ | 2017-05-18 09:08:47 | 2017-05-19 10:08:47 | +---------------------+----------------------------------------+