如何补偿mysql timestampdiff溢出

b0zn9rqh  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(431)

我正在使用mysql TIMESTAMPDIFF() 函数来计算两个日期之间的月差,但存在溢出问题。
假设我有一个日期,我用mysql计算1个月后的同一个日期: select DATE_ADD('2018-10-31', INTERVAL 1 MONTH) 退货 2018-11-30 所以,现在我有两个日期,2018-10-31和2018-11-30。
现在我想计算这些日期之间的间隔,以月为单位,但是 select TIMESTAMPDIFF(MONTH, '2018-10-31', '2018-11-30') 退货 0 ,因为11月的天数是\u add()调整的日期。
那么,给定两个日期(如上所述,用date\ u add()计算,间隔为n个月),是否可以使用timestampdiff()或其他函数来计算n?

wqlqzqxt

wqlqzqxt1#

您可以使用的一种解决方案是检查两个日期的天数之间的差异。在这种情况下,你将有30天,所以你可以考虑它一个月或更少的间隔。在mysql文档中有一些示例,其中在超过31天的时间段之间描述了一个月的验证。

select TIMESTAMPDIFF(DAY,'2018-10-31','2018-11-30');
Result: 30

相关问题