设计营业时间SQL表

我正在设计一个sql表来存储商店的营业时间.

有些商店的营业时间非常简单:周一至周日上午9:30至晚上10:00

其他人则稍微复杂一点.请考虑以下情形:

Monday:  Open All Day
Tuesday: 7:30AM – 2:30PM & 4:15PM – 11:00 PM 
Wednesday: 7:00PM – 12:30 AM (technically closing on Thursday morning)
Thursday: 9:00AM – 6:00PM
Friday: closed.

你会如何设计表格?

编辑

小时将用于显示商店是否在用户选择的时间打开.

不同的表可以处理任何异常,例如假期.

商店营业时间不会每周变化.

解决方法

像这样的表对于你发布的输出都很容易,而且只是稍微向后发射(打开?是/否):
Store | Day | Open | Closed
---------------------------
1     | 1   | 0000 | 2400
1     | 2   | 0730 | 1430
1     | 2   | 1615 | 2300
...

特征:

>使用24小时不是必需的,但可以使数学更容易.
>商店ID可能会连接到存储商店信息的查找表
>日ID将转换为星期几(1 =星期日,2 =星期一等)

查询您的数据集,只需:
选择日,打开,关闭……(你想明确打开/关闭格式)

查询IsOpen ?,只需:

SELECT CASE WHEN @desiredtime BETWEEN Open AND Closed THEN 1 ELSE 0 END 
FROM table 
WHERE store = @Store

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03