在sql中的一天标志

时间:2015-06-03 13:18:18

标签: sql tsql

我有一个网络表单,通过它可以预订哪些活动。其中一个参数是可以在一周中的任何日子预订活动:周日,周一,周二,周三,周四,周五,周六

网络表单包含用于选择日期的复选框。根据选择我想将信息存储在sql表中。我打算为事件创建一个辅助主表,该表将在一周中的每一天存储信息。通过这种方法,我可能最终浪费空间。

以下是Primary Master表的表结构:

PoojaID      int
DeityID      int
WorshipID    int
PoojaName    char
TimeOfPooja  char
Rate         money

请就如何存储的最佳方法提出建议?一种方式,我认为是将信息存储在一个列中,如Su,Mo,Tu,We,Th,Fr,Sa

2 个答案:

答案 0 :(得分:1)

只需添加一列即事件日期,只需添加另一列事件日,此列就是表达式列包含表达式

DATENAME(dw, EventDate)

答案 1 :(得分:0)

您可以使用二进制表示将值存储在单个列中,并将其存储为tinyint。然后只存储十进制值。

Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Blank | Binary   | Decimal
0      | 0      | 0       | 0         | 0        | 0      | 1        | 0     | 01000000 | 64

Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Blank | Binary   | Decimal
1      | 1      | 1       | 1         | 1        | 1      | 1        | 0     | 01111111 | 127

`