查询以确定某个时间段是否介于午夜之间?

时间:2016-06-02 19:25:20

标签: date datetime ms-access

我正在设计数据库以确定是否可以在一段时间内完成工作。 我还必须考虑一周中的某一天,但我已经通过测试存储在表格中的允许开始日期来完成此操作。

例如,一个部门允许在18:00到08:00之间工作。

我有一个格式为dd / mm / yyyy的开始时间hh:nn名为start_date 格式为dd / mm / yyyy的结束时间hh:nn名为end_date

我目前使用的解决方案是以错误的方式思考,以便我测试开始时间是否在08:00到18:00(如果不是那样)。 然后我在结束日期执行相同的操作,另外我计算HOURDIFF是否大于允许的窗口,即14小时。

有没有更好的方法来测试时间是否在跨越午夜的范围之间?

1 个答案:

答案 0 :(得分:0)

也许我错过了什么,但是如果你有日期,那么如果end_date与start_date的日期不同,那么这个班次必然会在午夜过后。

如果您没有日期且只有两次,如果end_date的时间小于start_date的时间,则班次将跨越午夜。