簡體   English   中英

兩個字段中兩個日期之間的日期

[英]date between two dates in two fields

我在酒店域工作。 我創建了每個酒店的庫存頁面以及每個房間。

在db的數據結構中,我創建了開始日期和結束日期。 庫存我們在日期之間傳遞記錄。

SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`
FROM (`crs_room_type_detail`)
JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` = `crs_room_type`.`room_type_id`
WHERE `crs_room_type_detail`.`hotel_id` =  '4'
AND `crs_room_type_detail`.`sdate` >=  '2016-09-21'
AND `crs_room_type_detail`.`edate` <=  '2016-10-04'
GROUP BY `crs_room_type_detail`.`room_type_id`

這個查詢得到了結果。 對於房間我們有sdate:2016-09-20和edate:2016-09-30這個標准它不會工作,假設我改變條件像sdate <='2016-09-21'和edate > ='2016-10- 04'它不會工作其他一些標准

試試以下腳本:

SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`, date
FROM (`crs_room_type_detail`)
JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` =
`crs_room_type`.`room_type_id`
WHERE `crs_room_type_detail`.`hotel_id` =  '4'
AND date(`crs_room_type_detail`.`sdate`) >=  date('2016-09-21')
AND date(`crs_room_type_detail`.`edate`) <=  date('2016-10-04')
GROUP BY `crs_room_type_detail`.`room_type_id`

使用之間獲取日期范圍:

SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`
FROM (`crs_room_type_detail`)
JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` = `crs_room_type`.`room_type_id`
WHERE `crs_room_type_detail`.`hotel_id` =  '4'
AND `crs_room_type_detail`.`sdate` between  '2016-09-21' and '2016-10-04'
GROUP BY `crs_room_type_detail`.`room_type_id`

試試這一個

 SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`
    FROM (`crs_room_type_detail`)
    JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` = `crs_room_type`.`room_type_id`
    WHERE `crs_room_type_detail`.`hotel_id` =  '4'
    AND `crs_room_type_detail`.`sdate` BETWEEN '2016-09-21' AND '2016-10-04'
    AND `crs_room_type_detail`.`edate` BETWEEN '2016-09-21' AND '2016-10-04'
    GROUP BY `crs_room_type_detail`.`room_type_id`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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