3 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
請注意,如果您想在2個(gè)日期之間計(jì)算24小時(shí),則datediff可能會為您返回錯(cuò)誤的值。
正如文件所述:
在計(jì)算中僅使用值的日期部分。
結(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í)的全天數(shù)。
希望它會對某人有所幫助,因?yàn)槠鸪醪⒉皇悄敲疵黠@,為什么dateiff會返回看似意外或錯(cuò)誤的值。

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
添加回答
舉報(bào)