|
|
1
4
以你所描述的为例。当前成员没有MemberTo日期,因此在成员资格表中,您不需要MemberTo日期。将MemberTo日期放在前成员的表中(该表将包含此属性以及与不适用于当前成员的前成员身份关联的其他属性)。这样做不需要null。 |
|
2
3
其他人没有提到的另一种选择是对两个日期列使用单独的表。(在重新阅读时,我看到无与伦比的@sqlvogel确实提到了这一点。我将把代码作为一个示例。如果@sqlvoge想把它合并到他的答案中,我刚刚投了赞成票,这对我来说没问题。我稍后会删除我的答案。)
|
|
|
3
2
这是一个合理的问题,我不确定你为什么被否决。 至少根据Joe Celko的说法,正确的答案是使用9999-12-31作为结束日期。根据ISO 8601,这是正式的“时间的终结”。 您也可以考虑使用第六个法线形式(也称为锚点建模),它是为此目的而设计的。 |
|
4
1
怎么了
对此的所有解决方法(“神奇”日期值,对所有日期使用INT,查找到必须具有
我认为你应该克服你对
你通过储存获得了什么
|
|
|
5
1
使用默认日期进行成员审核如何。比如说加入后5年。 或者,如果我们与一家商业组织打交道,并且您记录了出生日期和性别,那么您可以计算退休年龄。 就我个人而言,我认为NULL没有问题。在MemberTo date的上下文中,IS NULL=仍然是成员。它的作用与默认值完全相同,并且远没有填充默认日期值那么复杂。 |
|
|
6
0
我知道这是一条古老的线索,但我偶然发现了它。
这是一个很好的观点
原因
:SQL server默认值
可能的解决方案
:使用
|