我有预订表以存储酒店预订,此表有预订_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
我的表格视图是下面的链接
答案 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