我有一个包含以下数据的大型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
有人可以帮助我使用语法来执行此转换吗?
答案 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
开始