我正在为一个处理日程安排和处理重复事件的应用程序创建一个表格。 我需要指示事件可能在哪些日期和时间重复发生(例如每周一和周三下午1点)。 是否有一个数据类型可以处理仅一周内的天数而不输入具体日期,还是我需要创建另一个包含一周内天数并引用这些天数的FK的表格? 显然,这很不理想,因为它会使处理在午夜之前开始并在午夜之后结束的事件更加复杂。
我正在为一个处理日程安排和处理重复事件的应用程序创建一个表格。 我需要指示事件可能在哪些日期和时间重复发生(例如每周一和周三下午1点)。 是否有一个数据类型可以处理仅一周内的天数而不输入具体日期,还是我需要创建另一个包含一周内天数并引用这些天数的FK的表格? 显然,这很不理想,因为它会使处理在午夜之前开始并在午夜之后结束的事件更加复杂。
CHECK
约束,要求值在1到7之间(或0到6,具体取决于实现)。另外...为什么使用smallint而不是tinyint? - AaronaughtCREATE TABLE T (
DAY_OF_WEEK TINYINT CHECK (DAY_OF_WEEK BETWEEN 1 AND 7)
-- Other fields and constraints...
)
TINYINT
- 因为数字日期只能取值从1到7(或0到6)- 实际上没有必要使用比TINYINT
更大的数据类型,因为TINYINT
可以取值范围高达255 (占用1个字节的存储空间)。 - marc_ssmallint
。 - MusicLovingIndianGirl