[英]SQL Query booking date between from and to
寻找基于起始日期和截止日期返回数据的 sql 查询。
桌子 :
id - int
carid int,
bookingStartDate - datetime
bookingEndDate - datetime
在这里,我尝试测试的所有以下查询都无法重新调整预期结果
示例 1:
set @startdate='2019-12-21'
set @enddate='2019-12-22'
--Example 1
select id,bookingStartDate,bookingEndDate from orders
where
(bookingStartDate between @startdate and @enddate
and bookingEndDate between @startdate and @enddate)
--Example 2
select id,bookingStartDate,bookingEndDate from orders
where
status=4 and
(bookingStartDate >=@startdate and bookingEndDate <= @enddate)
--Example 3
select id,bookingStartDate,bookingEndDate from orders
where
(bookingStartDate <= @startdate and bookingEndDate >= @startdate)
or
(bookingStartDate <= @enddate and bookingEndDate >= @enddate)
要求是,根据起始日期和今天检查列表所有可用汽车
这是重叠范围问题,您的查询应如下所示:
SELECT id, bookingStartDate, bookingEndDate
FROM orders
WHERE
@startdate < bookingEndDate AND
@enddate > bookingStartDate;
这将找到能够包含由@startdate
到@enddate
定义的日期范围的所有可用预订。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.