两个字段中两个日期之间的日期

时间:2016-09-21 04:46:51

标签: php mysql codeigniter date

我在酒店域工作。我创建了每个酒店的库存页面以及每个房间。

在db i的数据结构中创建了开始日期和结束日期。库存时我们在日期之间传递记录。

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&lt; ='2016-09-21'和{{1 }}&gt; ='2016-10-04'它不会使用其他一些标准

3 个答案:

答案 0 :(得分:1)

试用以下脚本:

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`

答案 1 :(得分:1)

使用两者来获取日期范围:

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`

答案 2 :(得分:1)

试试这个

-Dcom.sun.CORBA.ORBServerHost=someip