我正在使用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?
1条答案
按热度按时间wqlqzqxt1#
您可以使用的一种解决方案是检查两个日期的天数之间的差异。在这种情况下,你将有30天,所以你可以考虑它一个月或更少的间隔。在mysql文档中有一些示例,其中在超过31天的时间段之间描述了一个月的验证。