mysql中两个日期求月份差,用TIMESTAMPDIFF函数计算5月和11月的月份差不准确

 SELECT TIMESTAMPDIFF(MONTH,'2022-05-31', '2022-11-30')

这个运行的结果是5但是实际上差值是6个月。

这个日期不是固定的只是恰好计算到了这两个值,不能固定加1

a9bb22ss 发布于 2022-11-23 11:10 (编辑于 2022-11-28 10:07)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
LTC朝Lv6高级互助
发布于2022-11-23 11:16

+1呀,这不是数学问题吗,需要加一个边界

最佳回答
0
huahua3211Lv3见习互助
发布于2022-11-23 11:21

SELECT TIMESTAMPDIFF(MONTH,'2022-05-31', '2022-11-30')+1

最佳回答
0
changchenLv4见习互助
发布于2022-11-23 14:32

同问 为什么这个需要加一才能显示正常的日期

本地测试之后把天数改成一样是可以显示6个月的 - - 比如5-30 和 11-30 

但是五月有31天 11月有30天额 

要不然就智能+1 了

最佳回答
0
蒲公英FZLJLv5初级互助
发布于2022-11-23 16:23

试试SELECT PERIOD_DIFF(DATE_FORMAT('2022-11-30','%Y%m'),DATE_FORMAT('2022-05-31','%Y%m'))

  • 4关注人数
  • 563浏览人数
  • 最后回答于:2022-11-28 10:07
    请选择关闭问题的原因
    确定 取消
    返回顶部