sun*_*ess 2 timestamp type-conversion amazon-redshift
假设我们有两个表:
CREATE TABLE IF NOT EXISTS tech_time(
ms_since_epoch BIGINT
);
CREATE TABLE IF NOT EXISTS readable_time(
ts timestamp without time zone,
);
Run Code Online (Sandbox Code Playgroud)
假设tech_time有数据并且我们想要填充readable_time。
所以在 Postgres 中你可以使用to_timestamp(double precision)并做类似的事情
INSERT INTO readable_time(ts)
SELECT DISTINCT to_timestamp(ms_since_epoch::float / 1000) AS ts,
FROM tech_time;
Run Code Online (Sandbox Code Playgroud)
Amazon Redshift 中似乎不存在这样的功能:
函数 to_timestamp(双精度) 不存在
我的问题是:如何正确填充readable_time,同时损失最少的精度?
我们可以尝试使用DATEADD并将其添加ms_since_epoch到 1970 年 1 月 1 日:
INSERT INTO readable_time (ts)
SELECT DATEADD(ms, ms_since_epoch, 'epoch')
FROM tech_time;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |