【问题标题】:Query to identify if a time period is between times that pass through midnight?查询以识别时间段是否介于通过午夜的时间之间?
【发布时间】:2016-06-02 19:25:19
【问题描述】:

我正在设计一个数据库以确定是否可以在一段时间内执行工作。 我还必须考虑星期几,但我通过测试存储在表格中的允许开始日期来做到这一点。

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

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

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

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

【问题讨论】:

    标签: date datetime ms-access


    【解决方案1】:

    也许我遗漏了一些东西,但如果你有日期,那么如果 end_date 与 start_date 的日期不同,那么班次必然会过午夜。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 2020-02-22
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      相关资源
      最近更新 更多