我需要将存储在bigint列中的值转换为日期字段。转换的第一步涉及将其转换为时间戳,然后使用TRUNC方法将此列转换为日期值。 但是,在将bigint值转换为时间戳时,我的查询失败。 我得到的错误是: -
亚马逊无效操作:无法在没有时区的情况下将类型bigint强制转换为时间戳;
我现在尝试的查询是这样的: -
从事件限制1;
中选择ts :: timestamp
答案 0 :(得分:0)
如果您从POSIX时间戳开始,并尝试获取时区感知日期时间值,则需要提供时区 - 即使您以后想要截断时间部分。我不熟悉红移,但也许有一种方法可以指明你的意思是UTC。
答案 1 :(得分:0)
我可以使用此主题中描述的方法来避免时区错误:https://stackoverflow.com/a/36399361
我的约会时间基于时代,我能够做到以下几点:
SELECT
(TIMESTAMP 'epoch' + contract_start_date * INTERVAL '1 Second ')
FROM
table_name
答案 2 :(得分:0)
SELECT TIMESTAMP'epoch'+ {bigint列} / 1000 *间隔'1秒'作为tbl的日期