3 回答

TA貢獻1796條經(jīng)驗 獲得超7個贊
請注意,如果您想在2個日期之間計算24小時,則datediff可能會為您返回錯誤的值。
正如文件所述:
在計算中僅使用值的日期部分。
結(jié)果
select datediff('2016-04-14 11:59:00', '2016-04-13 12:00:00')
返回1而不是預(yù)期的0。
解決方案正在使用select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
(注意與datediff相比的參數(shù)順序)。
一些例子:
select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
返回0select timestampdiff(DAY, '2016-04-13 11:00:00', '2016-04-14 11:00:00');
返回1select timestampdiff(DAY, '2016-04-13 11:00:00', now());
返回自2016-04-13 11:00:00至今已過去24小時的全天數(shù)。
希望它會對某人有所幫助,因為起初并不是那么明顯,為什么dateiff會返回看似意外或錯誤的值。

TA貢獻1790條經(jīng)驗 獲得超9個贊
添加回答
舉報