如何在SQL中将数字转换为日期时间

How to convert number to datetime in SQL

提问人:Nam Nguyen 提问时间:9/23/2021 最后编辑:Sanushi SalgadoNam Nguyen 更新时间:11/17/2023 访问量:662

问:

我有一个这样的数字1628864262422我希望将其转换为SQL Server中的日期时间。我该怎么做?

谢谢

Server T-SQL 日期时间 类型转换

评论

1赞 Dale K 9/23/2021
并解释该数字应如何转换为日期,即该值的结果应该是什么?请注意,datetime 数据类型没有显示格式(因此我从您的问题中删除了它)。
1赞 Charlieface 9/23/2021
这回答了你的问题吗?SQL Server 中的UNIX_TIMESTAMP
0赞 Gordon Linoff 9/23/2021
那会是什么日期?从字面上看,有几十种不同的“纪元”用于数字日期/时间值。其中一些示例:en.wikipedia.org/wiki/Epoch_(计算)。

答:

4赞 John Cappelletti 9/23/2021 #1

如果你不关心MS,你可以试试

Select dateadd(SECOND,1628864262422/1000,'1970-01-01')

结果

2021-08-13 14:17:42.000

评论

0赞 Nam Nguyen 9/23/2021
那真是太棒了,你是救命恩人。你能简单地向我解释一下为什么我们在最后添加“1970-01-01”吗?我的意思是,你怎么知道为什么我们必须添加那个特定的日期?
1赞 John Cappelletti 9/23/2021
@NamNguyen我只是假设一个 UNIX 时间戳,看看 unixtimestamp.com/index.php