如何使用dateadd()函数将字符串数据转换为SQL Server中的datetime

时间:2016-12-22 07:14:09

标签: sql-server sql-server-2008

此“1432443679”是我的字符串,存储在名为Due_date的列中。我需要使用以下公式使用dateadd函数将其转换为日期时间。

当我在Excel工作簿中应用此项时,我将日期时间设为“2015/5/24 5:01:19”。但在SQL Server中,我无法获得时间和日期部分。

  • 公式:1970/01/01 12:00:00 Am + (1432443679/86400)
  • Excel工作表结果为5/24/2015 5:01:19

请帮助我

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个

select dateadd(SS,1432443679,CAST('1970-01-01' as datetime))

无需将秒数转换为天数除以86400。 在DateAdd()函数中,使用秒作为datepart直接将秒添加到1970-01-01并获取日期。

select dateadd(ss,cast(Due_Date as bigint),cast('1970-01-01' as datetime))
from tableName

答案 1 :(得分:0)

DECLARE @DateTimeAsString as varchar(30) = '1432443679';

SELECT DATEADD(SECOND, CAST(@DateTimeAsString as bigint), '1970-01-01T00:00:00');

结果:

24.05.2015 05:01:19