未知的SQL Server时间或时间戳,这是什么类型

问题描述:

在SQL Server数据库中,我有一些与日期和时间存储有关的数据。我有两列:开始时间和结束时间,其中包含两个值:未知的SQL Server时间或时间戳,这是什么类型

635193180000000000 

到开始时间和

635193216000000000 

到结束时间。

我已经搜索了如何将其转换为“经典时间”,如“2013年9月4日”,但它不是Unix时间,我不知道它是哪种格式..?

+2

这些列的数据类型是什么? –

+0

试试这个链接[unix到datetime](https://*.com/questions/14507649/convert-unix-epoch-timestamp-to-tsql-datetime) –

+0

@ LasseV.Karlsen它是bigint – Alex

终于找到了解决办法多亏了这个问题:Convert specific BigInt to DateTime in T-SQL

它使用.NET Ticks,从01-01-1900午夜开始。与标准的UNIX时间不同!

因此635193180000000000给出2013-11-06​ 07:00:00.000

尝试使用这样的: -

select dateadd(s, convert(bigint, 1283174502729)/1000, convert(datetime, '1-1-1970 00:00:00')) 
+0

谢谢,但我得到一个SQL错误“算术溢出错误”。 – Alex

+0

@Alex你是如何在你的代码中使用它的? –

+0

@Alex你可以投我的答案,如果你发现没有什么帮助 –