我在 mysql 中有一个包含开始和结束日期的表。这些开始和结束日期适用于预订酒店的时间。我需要做的是显示一个日历,显示已预订的日期和当月可用的日期。我如何知道当月的预订日期?我可以循环浏览当月的每一天,但这意味着 30 或 31 个查询,是否有更好、更优化的方法来找出当月预订的日期,以便我可以在日历上对日期进行颜色编码?
表结构是这样的:
hotelid 整数(11)
开始日期(日期)
结束日期(日期)
查询请求:
SELECT * FROM hotel_book WHERE hotelid = 1 AND DATE_FORMAT(startdate,'%Y-%m') >= '2012-08' AND DATE_FORMAT(enddate,'%Y-%m') <= '2012-08'
我确定我可以通过它 2012-08-01 和 2012-08-31 所以我不会处理每张支票的日期格式。但仅用于示例目的。