在Amazon Redshift中,可以使用以下函数将epoch转换为时间戳:
SELECT TIMESTAMP 'epoch' + your_epoch_column * INTERVAL '1 second' AS converted_timestamp
FROM your_table;
在上面的代码中,your_epoch_column 是包含epoch值的列,your_table 是包含该列的表。converted_timestamp 是将epoch转换为时间戳后的输出列。
以下是一个完整的示例:
-- 创建一个测试表
CREATE TABLE test_table (
id INT,
epoch_value BIGINT
);
-- 插入测试数据
INSERT INTO test_table (id, epoch_value)
VALUES
(1, 1609459200), -- 2021-01-01 00:00:00 UTC
(2, 1609545600), -- 2021-01-02 00:00:00 UTC
(3, 1609632000); -- 2021-01-03 00:00:00 UTC
-- 将epoch转换为时间戳
SELECT id,
TIMESTAMP 'epoch' + epoch_value * INTERVAL '1 second' AS converted_timestamp
FROM test_table;
运行上述代码将输出以下结果:
id | converted_timestamp
----+------------------------
1 | 2021-01-01 00:00:00.000
2 | 2021-01-02 00:00:00.000
3 | 2021-01-03 00:00:00.000
注意:在上述示例中,假设epoch_value 列的数据类型为 BIGINT,并且以秒为单位的epoch值。根据实际情况,你可能需要调整代码以适应你的列和数据类型。