我正在为自己的工作租用自行车制作脚本,但我不知道如何检查自行车在X期间的可用性
数据库看起来像:
CustomerID BicycleID FromDATE TillDATE
43 12 2012-05-20 2012-05-23
43 14 2012-05-20 2012-05-23
44 12 2012-05-27 2012-05-30
44 15 2012-05-27 2012-05-30
在我签订新的合同或预订或自行车可用一段时间之前,是否有可以运行的脚本?
对此的任何帮助都会很棒,谢谢!
答案 0 :(得分:1)
如果这些是简单的固定期限租赁,那么从From和Till
之间的搜索可用性很简单Select count(*) from hiresTable
where $From < TillDATE
and $Till > FromDATE
如果租约条款不固定,这不会准确,因为两名员工可能会在搜索范围内并排。
答案 1 :(得分:0)
请参阅Determine Whether Two Date Ranges Overlap:
要测试两个时段是否重叠,请使用(StartDate1 <= EndDate2) and (StartDate2 <= EndDate1)
SELECT * FROM reservations WHERE ? <= TillDATE AND FromDATE <= ?
此查询中的第一个参数应该是新预订的开始日期,第二个参数应该是结束日期。
这将返回与新镜头碰撞的所有预订。
答案 2 :(得分:0)