MySQL DATE_SUB() 函数用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL DATE_SUB() 函数用法相关的知识,希望对你有一定的参考价值。
参考技术A 从日期减去指定的时间间隔。语法
DATE_SUB(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
假如我们要找出表中10分钟内插入的数据可以用语句:
select * from call_record where
insert_time >= date_sub(now(),interval 10 minute)
MySQL计算日期函数DATE_SUB(d,INTERVAL expr type)的用法
语法
- DATE_SUB(d,INTERVAL expr type)函数返回起始日期d减去一个时间段后的日期。
- expr是一个表达式,用来指定从起始日期添加或减去的时间间隔值。对于负值的时间间隔,它可以用一个负号“-”开头。
- expr表达式与后面的间隔类型type对应。
- MySQL中的日期间隔类型如下表所示:
类型(type值) | 含义 | expr表达式的形式 |
---|---|---|
YEAR | 年 | YY |
MONTH | 月 | MM |
DAY | 日 | DD |
HOUR | 时 | hh |
MINUTE | 分 | mm |
SECOND | 秒 | ss |
YEAR_MONTH | 年和月 | YY和MM之间用任意符号隔开 |
DAY_HOUR | 日和小时 | DD和hh之间用任意符号隔开 |
DAY_MINUTE | 日和分钟 | DD和mm之间用任意符号隔开 |
DAY_SECOND | 日和秒钟 | DD和ss之间用任意符号隔开 |
HOUR_MINUTE | 时和分 | hh和mm之间用任意符号隔开 |
HOUR_SECOND | 时和秒 | hh和ss之间用任意符号隔开 |
MINUTE_SECOND | 分和秒 | mm和ss之间用任意符号隔开 |
实例1
- 使用DATE_SUB()函数执行日期减操作。SQL语句如下:
mysql>SELECT DATE_SUB('2014-10-11 12:00:00', INTERVAL 1 SECOND) AS col1
2014-10-11 11:59:59
mysql>SELECT DATE_SUB('2014-10-11 23:59:59', INTERVAL '1 1' YEAR_MONTH) AS col2
2013-09-11 23:59:59
- 从上图中代码执行的结果可以看出:
- DATE_SUB(‘2014-10-11 12:00:00’,INTERVAL 1 SECOND)函数将时间减少1秒后,返回的结果为“2014-10-11 11:59:59”。
- DATE_SUB(‘2014-10-11 23:59:59’,INTERVAL ‘1 1’ YEAR_MONTH)函数中,时间间隔使用的是YEAR_MONTH;expr表达式中的年和月之间用空格隔开,因此该函数返回的结果是d日期中一年零一个月以前的日期和时间2013-09-11 23:59:59。
实例2
- 在MySQL中,还可以使用负数来指定时间。
- 使用DATE_SUB()函数执行日期减操作。SQL语句如下:
mysql>SELECT DATE_SUB('2014-10-11 11:59:59', INTERVAL -1 SECOND) AS col1
2014-10-11 11:59:59
mysql>SELECT DATE_SUB('2014-10-11', INTERVAL '-1 -1' YEAR_MONTH) AS col2
2015-11-11
- 从上图中代码执行的结果可以看出:
- DATE_SUB(‘2014-10-11 11:59:59’,INTERVAL -1 SECOND)函数将时间增加1秒后,返回的结果为“2014-10-11 12:00:00”。
- DATE_SUB(‘2014-10-11’,INTERVAL ‘-1 -1’ YEAR_MONTH)函数返回日期d中一年零一个月以后的日期2015-11-11。
- 因为是对负数进行的减操作,所以实际上进行的是日期的加操作。
提示
- DATE_SUB(d,INTERVAL expr type)函数在指定修改的时间段时,也可以指定负值,负值代表相减,减去一个负值,得到的是对日期的相加,即返回以后的日期和时间。
- DATE_SUB(d,INTERVAL expr type)函数中的type必须在上表中。而且,type必须是上表中的某一项,不能是其中几项的组合。因此,使用该函数时,一定要注意type的选择。
- DATE_SUB(d,INTERVAL expr type)函数和SUBDATE(d,INTERVAL expr type)函数的作用相同。
以上是关于MySQL DATE_SUB() 函数用法的主要内容,如果未能解决你的问题,请参考以下文章