我需要在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;
显然你的列不是时间戳列,而是varchar
,所以你首先需要将它转换为实时时间戳才能使用extract()
select id,
extract(epoch from time::timestamp) as time,
data1, data2,data3
from log;
这仅在该列中的所有值都具有正确的时间戳ISO格式时才有效。
这教你,你应该
varchar
column!