我正在从SAS服务器读取一些日期时间值,并且SAS日期值的存储方式是数字变量。日期值表示自1960年1月1日以来的天数。时间值表示自午夜起的秒数。日期时间值表示自1960年1月1日以来的秒数。我能够读取日期值并获得正确的转换但我的问题是我无法转换时间值。这是我如何转换日期值
DATEADD(DAY, [SC_ADMIT_DT],'19600101')AS [SC_ADMIT_DT]
这将给我2009-12-15,这很好。但我有另一列ADMT_TIME,存储在SAS中的时间值是这样的:29520我想转换它以显示正确的日期时间值。我甚至不确定这是日期时间戳还是仅限时间。感谢
答案 0 :(得分:3)
你说
时间值表示自午夜起的秒数
由于29520/3600是8.2小时,即上午8:12,这似乎是正确的。那么为什么不简单地添加那些秒?
DATEADD(SECOND, [ADMT_TIME], DATEADD(DAY, [SC_ADMIT_DT], '19600101')) AS [SC_ADMIT_DT]