gpt4 book ai didi

sql - 在 PostgreSQL 选择查询中将时间戳列值转换为纪元

转载 作者:行者123 更新时间:2023-11-29 12:30:56 24 4
gpt4 key购买 nike

我需要在 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 列中存储日期、时间戳或时间值!

关于sql - 在 PostgreSQL 选择查询中将时间戳列值转换为纪元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com