将值转换为日期时间

1 sql-server datetime sql-server-2008-r2

我有一个包含数据的大型CSV文件,如下所示(我已对其进行了简化):

Timestamp,      Value 1, Value 2

41883.00000000, 123.4,   223.4

41883.00011574, 567.8,   667.8
Run Code Online (Sandbox Code Playgroud)

我想使用SQL Server导入和导出向导将数据导入MSSQL 2008 R2。为此,我需要将我的时间戳列转换为日期时间,这会将时间戳更改为:

Timestamp ->> Timestamp (converted)

41883.00000000 ->>  2014-09-01 00:00:00

41883.00011574 ->>  2014-09-01 00:00:10
Run Code Online (Sandbox Code Playgroud)

谁能帮助我进行转换的语法?

And*_*yev 5

这些时间戳记采用OADATE格式。

您可以将这些值转换为日期时间,然后从结果中减去两天:

select dateadd(dd, -2, cast(41883.00011574 as datetime))
Run Code Online (Sandbox Code Playgroud)

会给你 2014-09-01 00:00:09.997

您需要减去两天,因为SQL Server从开始于1900-01-01 00:00:00,OADATE从1899-12-30-00:00:00