mysql时间加减函数

先来看一个例子:

select now(),now()+0;

可以看到now()函数可以返回一个时间也可以返回一个数字,就看大家如何使用。如果相对当前时间进行增加或减少,并不能直接加上或减去一个数字而是需要特定的函数。如 date_add()或date_sub(),前者表示增加,后者表示减少。其具体的具体使用方法有date_add(date,interval expr uint)和date_sub(date,interval expr uint)。示例如下:

select now() as now,
date_add(now(),interval 1 day) as tomorrow,
date_sub(now(),interval 1 day) as yesterday;

其中expr 可以是正值也可以是负值,因此可以使用date_add()完成date_sub()的工作。示例如下:

还有一个问题如果是闰月那么这两个函数是怎么处理的??MySQL默认行为是这样的:如果目标年份是闰月,那么返回的日期为2月29日,反之是2月28日。示例如下:

在上面的例子中使用了year,day数据类型其实还可以使用microsecond、 second、 minute 、hour、 week、 month等数据类型。

原文地址:https://www.cnblogs.com/alphathink/p/4955609.html