如何通过从当前date_time减去date_time字段来计算天数?

时间:2015-06-17 07:23:13

标签: sql database ms-access ms-access-2007

我有预订表以存储酒店预订,此表有预订_id,customer_id,rommno和检查日期还有另一个可选字段,结账字段将在人员签出时使用,状态字段将更新为结帐状态首先是检查状态。

我需要一个查询来查找检查日期的停留日期数。 需要的结果将如下所示:

customer_id,roomno,checkin_date,due_nights

到期之夜将是减去checkin_date和当前日期的结果,我尝试了这个SQL查询并返回#Error

SELECT DATEDIFF(reservations.due_nights,  now(), reservations.checkin_date) from reservations

我的表格视图是下面的链接

current table view click

1 个答案:

答案 0 :(得分:3)

您的查询错误

SQL SERVER datediff的语法是

DATEDIFF(datepart,startdate,enddate)

在sql server中获取当前日期的功能还有getdate()而不是now()

所以在你的情况下它将是

Select DATEDIFF(DAY,reservations.checkin_date, getdate())

例如: -

select DATEDIFF(Day,'06-07-2015 14:00:00',GETDATE())
     will return 10

<强> MS-ACCESS

DateDiff ( interval, date1, date2, [firstdayofweek], [firstweekofyear])

 DATEDIFF("d",reservations.checkin_date,Now())

  where d represents the interval as day

eg: -  DateDiff ("d", #15/10/2003#, #22/11/2003#)

       result will be 38