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