簡體   English   中英

SQL查詢預訂日期從和到

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM