【问题标题】:SQL Server - I need to see correct date/time and not a numberSQL Server - 我需要查看正确的日期/时间而不是数字
【发布时间】:2018-01-27 23:18:00
【问题描述】:

我在 SQL Server 2005 数据库中有一个表,我想获得一份报告。如果我只是在 SQL Server Management Studio 中使用“Script Table as”,我可以获得我需要的信息,但我感兴趣的列应该包含日期和时间,只包含558262380 .

我可以在“脚本”的底部添加一些 SQL 命令来将该数字转换为更有意义的数字吗?

以下是屏幕截图 - 我需要将“延迟到”数据显示为正确的日期和时间。

【问题讨论】:

  • 该列的数据类型是什么?
  • 你可以使用DATEADD函数,DATEADD(ss, columnName, '19700101')
  • 558262380 这样的日期在我看来就像一个纪元日期(将 558262380 翻译为 1987 年 9 月 10 日星期四上午 8:53)
  • David Makogon - 我应该在原帖中说 - 558262380 代表 09/09/2017 08:53 am

标签: sql-server tsql sql-server-2005


【解决方案1】:

显然,这个日期是按照从 01/01/2000 开始经过的秒数计算的。

您应该可以使用DATEADD() 获取相应的日期时间,如下所示:

select DATEADD(SECOND, 558262380 , '2000-01-01')

这是该命令的输出:

您的原始查询应变为:

SELECT  [Trader_Number]
       ,[Start_Trading_Hours] 
       ,[End_Trading_Hours] 
       ,[Inactivity_Period] 
       ,DATEADD(SECOND, [Delayed_Until], '2000-01-01') as [Delayed_Until] 
FROM [EMDC_1].[dbo].[Autologoff_Settings]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2016-03-05
    相关资源
    最近更新 更多