在Azure数据仓库中将unix epoch时间戳转换为正常日期时间时遇到麻烦:
select
dateadd(s, convert(bigint, 2551564800), convert(datetime, '1-1-1970 00:00:00')) as bigint
错误:
将表达式转换为数据类型int的算术溢出错误。
值2551564800等于09/11/2050。
任何帮助将不胜感激
答案 0 :(得分:0)
如果您没有超过5103129600
的纪元值(这将使您拥有直至2106-02-07T06:28:13
的日期),它将起作用:
SELECT DATEADD(SECOND,2551564800 % 2147483647, DATEADD(SECOND,2147483647 * (V.Epoch / 2147483647),'19700101'))
FROM (VALUES(CONVERT(bigint,2551564800))) V(Epoch)