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表达式的形式
YEARYY
MONTHMM
DAYDD
HOURhh
MINUTEmm
SECONDss
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() 函数用法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL计算日期函数DATE_SUB(d,INTERVAL expr type)的用法

MySQL DATE_SUB() 函数

MySql date_sub()函数

Mysql中DATE_SUB函数

Mysql中使用函数处理时间

MySQL更新时间