【发布时间】:2016-09-01 03:47:25
【问题描述】:
在我的程序中,我必须管理一些假期。每个假期可以是一个确切的日期,也可以是一个重复的日期。
例如:
-6th January of each years
-first day of each month of each year
我将如何将这些信息保存在数据库中?
我不能使用Datetime,因为使用日期时间我不能代表上面例子中的特殊情况。
有什么建议吗?
如果可能的话,我正在使用 TSQL
对不起,我的英语不好。
【问题讨论】:
-
如果我理解正确,您希望将假期列表存储在表中。因为将一列保留为仅日期(不是日期时间)。所以 holidayname varchar(255),HoliDate Date。
-
我会创建一个日历表,用 20 年的数据填充它,而不用担心如何对数据库本身的填充规则进行编码。将它们保存在脚本/存储过程中,您可以在十年后运行(如果需要)。
-
使用 iCalendar RRules 和 ExDates,并通过物化视图和一些 C# 生成实际日期(在时间窗口中)
标签: sql-server tsql database-design database-schema