mysql中计算日期整数差

TIMESTAMPDIFF

语法:

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

interval:间隔

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

datetime_expr1 开始时间

datetime_expr2 结束时间

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

这里刚开始觉得有点奇怪,now是20号,用22-20=2  应该是相差两天,为什么查出来是相差1天。

但是如果这样查

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

这样就是相差两天了!

 

有个相对应的函数 

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

 

 

 

 

posted @   NAYNEHC  阅读(800)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示