将时间戳转换为日期会产生错误的时间

converting timestamp to date yields wrong hour

我有这个时间戳值:1568387621 我需要将其转换为日期。

我试过类似的方法:

SELECT TO_TIMESTAMP('19700101','yyyymmdd') + ((1568387621/1000)/24/60/60)
FROM dual;

但是没用。

我的时间是Europe/Rome。

有些转换网站告诉我转换后的值是:2019-09-13 17:13:41 相反,在 db 的最佳情况下,我获得:2019-09-13 15:13:41

哪个小时是正确的(15 或 17)。我怎样才能正确转换它?

SQL 服务器的 TIMESTAMP 数据类型与日期和时间无关!

在这里阅读第一个答案:

How to convert SQL Server's timestamp column to datetime format

为了覆盖时区,使用这个:

(TIMESTAMP '1970-01-01 00:00:00 UTC' + 1568387621 * INTERVAL '1' SECOND) AT 'Europe/Rome'