Emi*_*mil 8 sql database-design data-modeling
我正在设计一个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.
Run Code Online (Sandbox Code Playgroud)
你会如何设计表格?
编辑
小时将用于显示商店是否在用户选择的时间打开.
不同的表可以处理任何异常,例如假期.
商店营业时间不会每周变化.
像这样的表对于你发布的输出都很容易,而且只是稍微向后发射(打开?是/否):
Store | Day | Open | Closed
---------------------------
1 | 1 | 0000 | 2400
1 | 2 | 0730 | 1430
1 | 2 | 1615 | 2300
...
Run Code Online (Sandbox Code Playgroud)
特征:
要查询您的数据集,只需:(
SELECT Day, Open, Close... 您想要明确地打开/关闭格式)
要查询IsOpen ?,只需:
SELECT CASE WHEN @desiredtime BETWEEN Open AND Closed THEN 1 ELSE 0 END
FROM table
WHERE store = @Store
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2726 次 |
| 最近记录: |