开放时间的SQL

前端之家收集整理的这篇文章主要介绍了开放时间的SQL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的商店数据库中,我需要有开放时间.你有一个想法如何在我的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

猜你在找的MsSQL相关文章