在MySQL中查找两个日期之间的差异

在MySQL中查找两个日期之间的差异,mysql,Mysql,我有两个不同的日期列:detail\u returndate和detail\u duedate。我试图找出两者之间的差异,并将其作为过期天数返回 这里是基本的选择。我尝试过使用diffday并减去2,但我运气不太好 select rent_num, vid_num, detail_returndate, detail_duedate from detailrental 如果您需要表的完整sql代码,请让我知道,但我认为您不会需要它 为了明确起见,我需要通过计算detail\

我有两个不同的日期列:detail\u returndate和detail\u duedate。我试图找出两者之间的差异,并将其作为过期天数返回

这里是基本的选择。我尝试过使用diffday并减去2,但我运气不太好

    select rent_num, vid_num, detail_returndate, detail_duedate
    from   detailrental
如果您需要表的完整sql代码,请让我知道,但我认为您不会需要它

为了明确起见,我需要通过计算
detail\u returndate
detail\u duedate
之间的差异来确定逾期天数。这将产生逾期金额,以天为单位


它应该如上所示工作。也许加上强制性的`

SELECT `rent_num`,
       `vid_num`,
       `detail_returndate`,
       `detail_duedate`,
       DATEDIFF(`detail_returndate`,`detail_duedate`) as days_overdue
FROM detailrental

此外,DATEDIFF从第一个值中减去第二个值,因此如图所示,它应该为过期天数提供一个正数。

添加代码。
datediff
有什么问题?这两列的类型是什么<代码>日期时间?您希望差异以天为单位,还是以时间跨度为单位?天的差异是我所寻找的接近的,但是我得到过期天数的所有值为0,而它们不应该是0,其他一切都很好。您能告诉我这些案例的
详细返回日期
详细返回日期
确切值吗?我可以再多尝试一点来解决这个问题。例如,视频编号54325逾期5天,因为它在3月4日到期,但在3月9日返回,我还添加了完整的代码
SELECT  rent_num, 
        vid_num, 
        detail_returndate, 
        detail_duedate, 
        DATEDIFF( detail_duedate, detail_returndate) as days_overdue    
FROM detailrental
SELECT `rent_num`,
       `vid_num`,
       `detail_returndate`,
       `detail_duedate`,
       DATEDIFF(`detail_returndate`,`detail_duedate`) as days_overdue
FROM detailrental