当前位置: 首页 > 面试题库 >

营业时间的SQL

孟茂学
2023-03-14
问题内容

在我的商店数据库中,我需要有营业时间。您是否知道如何在dB中实现这一点?

营业时间为周一至周日,每天可以有2个开放窗口(例如09:00-12:00、16:00-19:00)


问题答案:

建一个表,把它schedules添加一个外键shops表的主键,一个Day of weektime_opentime_closed。数据应如下所示:

shop_id     day_of_week      time_open        time_closed
1           1                09:00            12:00
1           1                16:00            19:00
1           2                09:00            12:00
1           2                16:00            19:00
1           3                09:00            12:00
1           3                16:00            19:00
1           6                10:00            14:00
2           1                09:00            12:00
2           1                13:00            18:00

这将使您有机会构建任何类型的日程表,并根据需要设置任意数量的窗口以及所需的异常数量。它是通用的,仅限于期望所有星期都相同的事实。没有考虑假期,也没有人可能会使用的奇数/偶数周时间表。

编辑:
关于朱利安(Julien)的一个关于夜班工作时间的问题,引起我注意的是,先前的解决方案并不是最好的解决方案。您无法在20:00打开栏,在06:00关闭栏,并比较当前时间(02:45)是否在此时间间隔内,因为不会。因此,以方便的计量单位(例如分钟)注册关闭时间而不是总工作时间是最方便的。

shop_id     day_of_week      time_open        working_time
1           1                09:00            180
1           1                16:00            180
1           2                09:00            180
1           2                16:00            180
1           3                09:00            180
1           3                16:00            180
1           6                10:00            240
2           1                09:00            180
2           1                13:00            300


 类似资料:
  • 问题内容: 我们目前正在开发一个应用程序,其中多个实体具有关联的营业时间。营业时间可能会持续数天,也可能会在一天内。 前任。星期一在6:00开放,星期五在18:00关闭。 或者 星期一在06:00开放,星期一在15:00关闭。 同样,一个实体每天可能有多组开放时间。到目前为止,我发现最好的设计是定义一个开放时间,其中包括以下内容: StartDay,StartTime,EndDay和EndTime

  • 问题内容: 几天内绘制图表,其数据集具有24小时数据,但仅在MF(上午7点至下午5点)期间有效。如果使用下面的代码设置时间序列,则会得到一个包含每周7天,每天24小时的图表。有道理,但不适用于我的用例。 有没有一种方法可以定义时间序列显示的间隔?还是我需要使用其他图表类型并尝试将我的数据调整为常规周期?我希望不要这样,尽管我接收的数据通常间隔30秒,但很容易会有差距。 几乎不可能发布具有正常工作状

  • 我必须显示员工相对于官方工作时间的总工作时间。如果任务已启动,则开始时间和结束时间输入到数据库中。 条目类似于: 工作时间可根据组织进行配置。 工作时间 = 如果某人的工作时间超过工作时间,这被认为是额外工作,被认为是额外时间。 我需要根据用户工作了一天的产量。一天的输出,如 我已经完成了下面的编码。它没有给出我期望的敏锐结果。 我所做的: 代码: 输出: 11 天: 05 小时: 02 分钟 我

  • 我想为我的应用程序安排cron作业来完成特定的任务。我如何在这个需求中安排? 要求:cron数据。js应每周一至周五每小时运行一次,时间为上午9:30至下午3:30。

  • 问题内容: 我目前正在开发一个涉及在Rails服务器上同步联系人的应用程序。我正在使用Redis服务器和sidekiq在后台执行联系人同步。我的数据库是mongodb,我正在使用Mongoid gem作为ORM。工作流程如下: 电话上的联系人通过应用程序传递到Rails服务器,然后在Rails服务器上,它在Redis服务器中排队。 现在,cron作业会触发连接到Redis的sidekiq并完成作业

  • 直接触达微信客户,一对一精细运营服务转化; 企业微信营销 相关链接: 如何绑定企业微信 如何添加客户营销动态侧边栏 如何使用吸粉二维码 如何对微信客户进行定向群发