如何在SQL查询中将Unix Epoch格式日期转换为UTC时间
Unix时间戳转UTC时间的SQL实现方案
你所持有的1610382439为10位精度的Unix时间戳,代表从1970-01-01 00:00:00 UTC到对应时间的总秒数,不同数据库的转换语法如下:
MySQL / MariaDB
-- 方法1:通用兼容版本 SELECT CONVERT_TZ(FROM_UNIXTIME(1610382439), @@session.time_zone, '+00:00') AS utc_datetime; -- 方法2:MySQL 8.0+ 简化写法 SELECT FROM_UNIXTIME(1610382439) AT TIME ZONE 'UTC' AS utc_datetime;
PostgreSQL
-- 直接转换得到UTC时间 SELECT TO_TIMESTAMP(1610382439) AT TIME ZONE 'UTC' AS utc_datetime;
SQL Server(2016及以上版本)
SELECT DATEADD(SECOND, 1610382439, '1970-01-01') AS utc_datetime;
Oracle
SELECT TO_DATE('1970-01-01', 'YYYY-MM-DD') + NUMTODSINTERVAL(1610382439, 'SECOND') AS utc_datetime FROM DUAL;
1610382439转换后的UTC标准时间为:2021-01-11 16:27:19
内容的提问来源于stack exchange,提问作者Saswat Ray
相关产品推荐
相关产品推荐

