你好,我试图从mysql中选择结果日期。
mytable:
id_room _ check_in _ check_out
问题是,当我想在日期1到日期2之前检查保留的数据时。
例如,我的房间数据:
id_room:1;check_in:2014/11/01;check_out:2014/11/08
所以我想在2014/11/03和2014/11/04两天确认我的预订。在系统中,这并不意味着在该日期没有预订,但在实际生活中,2014/11/03和2014/11/04必须已预订。因为im check_in在2014/11/01和check_out在2014/11/08。
我在用
SELECT * FROM tabel WHERE cek_in BETWEEN '2014/11/03' AND '2014/11/04' OR cek_out BETWEEN 2014/11/03' AND '2014/11/04'
因此,如果有任何线索或其他逻辑,请告诉我:D谢谢。
发布于 2014-11-25 14:17:48
如果我正确理解,这是一个典型的问题,您希望包括日期重叠的预订:
SELECT *
FROM table1
WHERE cek_out >= '2014-11-03' /* Check OUT >= START of range to check */
AND cek_in <= '2014-11-05' /* Check IN <= END of range to check */;更新
因此,您正在运行上面的查询,并且该房间有一个现有的预订。
cek_in = '2014-11-01' (<= '2014-11-05') /* OK */
cek_out = '2014-11-05' (>= '2014-11-03') /* OK */这应该会出现,你确定你写的是正确的查询吗?见评论。
https://stackoverflow.com/questions/27128973
复制相似问题