Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将值转换为日期时间_Sql Server_Datetime_Sql Server 2008 R2 - Fatal编程技术网

Sql server 将值转换为日期时间

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 有谁能帮助我执行此转换的

我有一个包含以下数据的大型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

有谁能帮助我执行此转换的语法吗?

这些时间戳采用
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开始加载