将 Unix 时间戳转换为时间码?
Posted
技术标签:
【中文标题】将 Unix 时间戳转换为时间码?【英文标题】:Converting Unix Timestamp into a time code? 【发布时间】:2018-04-05 18:00:28 【问题描述】:我正在使用 Athena Redshift SQL 编写查询
我有两个不同的表,我需要在其中加入两列:unix_timestamp
和 timestamp_code
unix_timestamp
存储为 string
,看起来像这样:2018-04-01T10:05:52.047Z
timestamp_code
是 string
看起来像这样:1514564885
我希望将unix_timestamp
转换为`timestamp_code 当前的格式。
我该怎么做呢?
【问题讨论】:
请问您查询的是 Athena 还是 Redshift? 【参考方案1】:转换为纪元:
SELECT EXTRACT(EPOCH FROM '2018-04-01T10:05:52.047Z'::TIMESTAMP);
-- date_part
--------------
-- 1522577152
从纪元转换为时间戳:
SELECT '1970-01-01'::TIMESTAMP + 1522577152 * INTERVAL '1 sec';
-- ?column?
-----------------------
-- 2018-04-01 10:05:52
https://docs.aws.amazon.com/redshift/latest/dg/r_EXTRACT_function.html https://docs.aws.amazon.com/redshift/latest/dg/r_Dateparts_for_datetime_functions.html
【讨论】:
以上是关于将 Unix 时间戳转换为时间码?的主要内容,如果未能解决你的问题,请参考以下文章