我需要将时间戳记值转换为SELECT查询中的纪元。请找到以下示例表和预期结果。
SELECT
样表:
select * from log; id | 3 time | 2016-03-30 18:44:19.189513 data1 | NONE data3 | NONE data4 | NONE
预期结果:
id | 3 time | 1459343659 data1 | NONE data3 | NONE data4 | NONE
日志表的行数为n。请找到以下版本详细信息:
select version(); version ---------------------------------------------------------------------------------------------- PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.7.2-5) 4.7.2, 64-bit
使用extract()函数:
select id, extract(epoch from time) as time, data1, data2,data3 from log;
显然,您的列不是timestamp列,而是a varchar,因此您首先需要将其转换为实际时间戳,然后才能使用extract()
varchar
extract()
select id, extract(epoch from time::timestamp) as time, data1, data2,data3 from log;
仅当该列中的所有值均具有正确的时间戳ISO格式时,此方法才起作用。
这告诉你,你应该