加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

开放时间的SQL

发布时间:2020-12-12 16:16:26 所属栏目:MsSql教程 来源:网络整理
导读:在我的商店数据库中,我需要有开放时间.你有一个想法如何在我的dB中实现这个? 开放时间为周一至周日,每天可开2个开放时间(09:00-12:00,16:00-19:00) 解决方法 建立另一个表,调用它进度表,添加一个外键到商店表主键,一个星期字段,time_open,time_closed.
在我的商店数据库中,我需要有开放时间.你有一个想法如何在我的dB中实现这个?

开放时间为周一至周日,每天可开2个开放时间(09:00-12:00,16:00-19:00)

解决方法

建立另一个表,调用它进度表,添加一个外键到商店表主键,一个星期字段,time_open,time_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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读