将值转换为datetime

时间:2015-01-30 12:05:53

标签: 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

我想使用SQL Server导入和导出向导将数据导入MSSQL 2008 R2。为此,我需要将Timestamp列转换为datetime,这会将Timestamp更改为:

Timestamp ->> Timestamp (converted)

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

41883.00011574 ->>  2014-09-01 00:00:10

有人可以帮助我使用语法来执行此转换吗?

1 个答案:

答案 0 :(得分:5)

这些时间戳采用OADATE格式。

您可以从这些值转换为datetime并从结果中减去两天:

select dateadd(dd, -2, cast(41883.00011574 as datetime))

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

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