【发布时间】:2018-11-29 03:33:42
【问题描述】:
我正在尝试在 SQL Server 中模拟一些古老的历史。我必须使用数字来指代地球上第一个生命形成等古代日期吗?
【问题讨论】:
我正在尝试在 SQL Server 中模拟一些古老的历史。我必须使用数字来指代地球上第一个生命形成等古代日期吗?
【问题讨论】:
因为古代历史的日期值通常用“大约公元前 40000 到 30000 年”之类的东西给出这样的东西最好有一个开始和结束日期。此外,最好将年月日等单列用作整数,以便能够表示像“-40000”这样的年值。
【讨论】:
好吧,你做 Sql Server 开发人员为 DateTime 所做的事情 - 你选择一个 Epoch,并存储一个数字来指定与那个 Epoch 的距离。
DateTime 的 Sql Server Epoch 是您在选择 SELECT CAST(0 AS DateTime) 时获得的日期 - 返回 1900 年 1 月 1 日午夜 - 1900-01-1T00:00:00。
由于您正在处理史前时代,您可能希望选择 0001-01-01 作为您的 Epoch,只是为了简化计算。
此外,史前日期通常是估计范围,因此您可能希望保留几列 - 一列用于范围开始,一列用于范围结束。
我不建议在任何情况下将日期保留为字符串,这只会给您带来麻烦。
【讨论】: