【问题标题】:SQL Server - Convert Epoch to datetime [duplicate]SQL Server - 将纪元转换为日期时间 [重复]
【发布时间】:2021-05-26 21:03:19
【问题描述】:

我有一个表,其中包含以纪元日期格式导入的数据(从 Influx 导出,现在存储为 varchar(50))。 我需要将其转换为人类可读的日期时间。

我试过了

 SELECT [DATE],DATEADD(S, CONVERT(BIGINT, SUBSTRING([DATE], 4,10)), '19700101')
FROM [DIM_GO_GOROUTINES] 

但那会返回

而我知道日期应该是 2 月 15 日星期一!

【问题讨论】:

标签: sql-server epoch


【解决方案1】:

嗯,我认为这个子字符串会给你带来问题。 当我这样写的时候:

select DATEADD(SS, CONVERT(BIGINT, '1613347200'), '19700101')

我得到结果:2021-02-15 00:00:00.000

【讨论】:

    【解决方案2】:
    select  dateadd(s, [Date], '19700101') as mydate from [DIM_GO_GOROUTINES] 
    

    【讨论】:

    • 代码转储不能提供好的答案。你应该解释如何为什么这可以解决他们的问题。我推荐阅读,“How do I write a good answer?"。这可以帮助未来的用户学习并最终将这些知识应用到他们自己的代码中。当代码被解释时,你也可能会得到用户的积极反馈/赞成。
    • 这只是一个简单的SQL,非常不言自明,尤其是鉴于此页面上的文字和DateAdd不是我发明的。不容易被人看到。
    猜你喜欢
    • 1970-01-01
    • 2013-04-02
    • 2015-07-13
    • 2020-05-20
    • 2020-02-21
    • 2018-08-30
    • 2014-09-05
    • 2018-04-24
    • 2011-12-06
    相关资源
    最近更新 更多