如何在SQL Server中实现有关历史记录的数据库?

时间:2018-06-20 05:23:52

标签: tsql date datetime

我正在尝试在SQL Server中建模一些古老的历史。我是否必须使用数字来指代古代日期,例如地球上第一生命的形成?

2 个答案:

答案 0 :(得分:0)

由于古代历史的日期值通常带有诸如“约40000至30000 B.C.”之类的名称。这样的东西最好有个开始和结束的日期。同样,最好将单个列用于年月日等,以便将整数等年份值表示为“ -40000”。

答案 1 :(得分:0)

好吧,您执行Sql Server开发人员为DateTime做的工作-选择一个Epoch,并存储一个数字以指定距该纪元的距离。

DateTime的Sql Server时期是选择SELECT CAST(0 AS DateTime)时获得的日期-返回1900年1月1日午夜-1900-01-1T00:00:00

由于您正在处理史前时代,您可能希望选择0001-01-01作为时代,只是为了简化数学。
另外,史前日期通常是估计范围,因此您可能需要保留几列-一列用于范围起始,一列用于范围终止。

在任何情况下,我都不建议将日期保留为字符串,这只会给您带来麻烦。