【发布时间】:2014-04-26 04:49:08
【问题描述】:
我有一张用于预订停车位的桌子。最短预订时间为 30 分钟,最长预订时间为 1 天(即预订不会跨越多天)。预订不得重叠,即任何时候每个车位只能有 1 辆车,因此在插入新预订之前,我会先检查是否有预订可用。
id buyerid startdatetime enddatetime vehicle spaceid
2 5 2014-04-23 09:00:00 2014-04-23 21:30:00 2 1
3 6 2014-04-25 13:00:00 2014-04-25 22:00:00 3 1
我想查询表,提供 startdatetime、enddatetime 和 spaceid,并查明在给定时间该空间是否存在预订。我只需要从查询中返回 true 或 false。
例如,如果我提供了您在上面看到的当前数据集:
startdatetime=2014-04-23 09:00:00 AND enddatetime= 2014-04-23 11:00:00 -- 查询将返回 TRUE,因为行 id 2 定义了在提供的时间存在的预订。
startdatetime=2014-04-23 22:00:00 AND enddatetime= 2014-04-23 23:30:00 -- 查询将返回 FALSE,因为当时没有预订。
【问题讨论】: