mysql中计算日期整数差

TIMESTAMPDIFF函数

语法:spa

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) : 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差code

interval:间隔blog

FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年it

datetime_expr1 开始时间class

datetime_expr2 结束时间date

SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22') day, NOW()
day   NOW()
1    2018-06-20 09:40:44

这里刚开始以为有点奇怪,now是20号,用22-20=2  应该是相差两天,为何查出来是相差1天。语法

可是若是这样查im

SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22 10:00:00') day, NOW()
day    NOW()
2    2018-06-20 09:45:40

这样就是相差两天了!datetime

 

有个相对应的函数 

TIMESTAMPADD

语法:

TIMESTAMPADD(interval,int_expr,datetime_expr) : 将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中

interval :间隔

FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年

int_expr 整型表达式

在月中,有些月有31天的 eg:

SELECT TIMESTAMPADD(MONTH , 2,'2018-05-31') DAY
DAY
2018-07-31

可是有些是30天,结果则是:

SELECT TIMESTAMPADD(MONTH , 1,'2018-05-31') DAY
DAY
2018-06-30
相关文章
相关标签/搜索