0

我们正在使用 SQL 2012 和 MS Office 2010 进行一些自动化工作。

我们已将一些日期从 Excel 导入到 SQL 表中。在 Excel 中,日期以可读格式显示(例如,1989 年 3 月 1 日)。我们希望将 SQL Server 中的日期存储为整数。例如,Office 2010 中 1989 年 3 月 1 日的基础值是 32568:CLng(DateValue("01/03/1989")) 使用澳大利亚日期格式。

将 Excel 日期导入 SQL int 列似乎有效。但是,当我们检查时,我们发现了一个差异。例如,1989 年 3 月 1 日在 SQL Server 中显示为 32566,而不是 32568。

我们认为我们知道如何解决这个问题。我们的问题是,有谁知道 Office 2010 和/或 SQL 2012 中的日期函数使用的种子是否可以调整,如果可以,如何调整?

4

1 回答 1

0

Excel1900-Jan-0用作其开始日期,SQL Server 使用1900-Jan-1

Excel : 在本系统中,序号1代表 1/1/1900 12:00:00 am

但在 SQL 1中是Jan 2nd

select cast(1 as datetime)

这是一个差异。第二个差异是 Excel 中众所周知的1900 年 2 月 29 日错误

在这个日期系统中,1900 年被错误地解释为闰年。

总而言之,将日期存储为日期而不是整数的更多理由。

于 2013-02-20T08:22:48.420 回答