Sql server 将值转换为日期时间
我有一个包含以下数据的大型CSV文件(我已将其简化): 我想使用SQL Server导入和导出向导将数据导入MSSQL 2008 R2。为此,我需要将时间戳列转换为datetime,这将时间戳更改为:Sql server 将值转换为日期时间,sql-server,datetime,sql-server-2008-r2,Sql Server,Datetime,Sql Server 2008 R2,我有一个包含以下数据的大型CSV文件(我已将其简化): 我想使用SQL Server导入和导出向导将数据导入MSSQL 2008 R2。为此,我需要将时间戳列转换为datetime,这将时间戳更改为: Timestamp ->> Timestamp (converted) 41883.00000000 ->> 2014-09-01 00:00:00 41883.00011574 ->> 2014-09-01 00:00:10 有谁能帮助我执行此转换的
Timestamp ->> Timestamp (converted)
41883.00000000 ->> 2014-09-01 00:00:00
41883.00011574 ->> 2014-09-01 00:00:10
有谁能帮助我执行此转换的语法吗?这些时间戳采用
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开始,这些时间戳采用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开始,从1899-12-30-00:00:00开始加载