Dev*_*she 18 postgresql timestamp timezone
我有一个运行在服务器上的 PostgreSQL 数据库,它的时区设置为印度的时区(即 UTC +5:30)
我在一个表中有一些数据,它是这样创建的:
CREATE TABLE "CLOUDDATA"
(
"CD_Tm_Obs" timestamp without time zone,
"CD_Avg_Cloud" double precision
)
Run Code Online (Sandbox Code Playgroud)
我想查询数据并获取特定时间的值。我的输入将是 Unix 时间戳(即 1970 年 1 月 1 日的秒数)
转换UNIX时间时间戳我发现的唯一方法是这样的:
select to_timestamp(TRUNC(CAST(1395036000 AS bigint)))
。但这会创建一个带时区的时间戳。我的数据在 中timestamp without time zone
,所以我没有得到任何结果。
如何在没有时区的情况下将 unix 时间转换为 PostgreSQL 的 Timstamp?
小智 41
这里有几种方法:
我已经简化您的查询,因为你不应该需要的TRUNC()
,也不是CAST()
。
SELECT to_timestamp(1395036000) AT TIME ZONE 'UTC';
SELECT timestamp '1970-01-01 00:00:00' + interval '1395036000 second';
Run Code Online (Sandbox Code Playgroud)
作为参考,可以在以下链接中找到更多信息:
归档时间: |
|
查看次数: |
58143 次 |
最近记录: |