【发布时间】:2010-10-05 10:45:01
【问题描述】:
在 SQL Server 2005 中存储旧日期(1753 年之前)的最佳/最有效方法是什么?我不关心存储时间 - 只是日期。 SQL Server 的 datetime 数据类型只能保存追溯到 1753 年 1 月 1 日的日期。MSDN 文档指出有 date 和 datetime2 数据类型,但 SQL Server Management Studio 似乎不支持它们(错误:无效数据类型)。
将日期存储为“YYYYMMDD”形式的字符串或整数会有多低效?我对表中的两个日期字段(StartDate 和 EndDate)进行了大量查询和排序。
更新:
下面有一些建议将年、月和日期存储在单独的字段中。将部分存储在不同的字段而不是单个整数字段有什么好处?
【问题讨论】:
-
使用 3 个整数而不是 1 的优点是您不需要像 CodeMonkey1 建议的那样计算天数。这比听起来更困难。
标签: sql sql-server sql-server-2005 datetime date