我有一个PostgreSQL数据库,用于存储包含时区(UTC偏移量)的日期时间.我使用了timestampz类型,因为它似乎是我所需要的,但是当我插入DateTime时,UTC偏移量被转换为UTC+00:

例如,如果我插入2022-10-20 00:00:00+01,实际存储的数据就变成了2022-10-19 23:00:00+00.

这看起来不像Mutch,但我们在这个过程中丢失了一些信息.有没有一种方法可以在不添加列来存储信息(或时区)的情况下保持偏移量?

推荐答案

不,在这方面,PostgreSQL可以说与SQL标准有所不同.如果要保留时区信息,则需要另加一列.如果这样做,请考虑存储像Europe/Paris这样的IANA时区名称,而不是UTC偏移量.

Postgresql相关问答推荐

尽管Jooq已经是uuid类型,Jooq仍会启用我的UID,为什么?

如何在gorm中创建一个可读但不可写的字段

如何确定要与给定转储文件一起使用的pg_Restore版本?

如何在PostgreSQL中更改分区的表空间?

将整数(以毫秒为单位的epoch时间)转换为PrimitiveDateTime

求和直到达到一个值 postgresql

Postgres 14 反斜杠 Z 没有给出正确的输出

Postgres内部如何计算月份间隔

PostgreSQL 输入结束时的语法错误

Java - 日期保存为前一天

Postgres中的GROUP BY - JSON数据类型不相等?

如何使用字符串作为 PostgreSQL 咨询锁的键?

Postgres 默认按 id 排序 - worldship

将属性添加到 Sequelize FindOne 返回的对象

在 MAC OS X 10.6 for PostgreSQL 上设置 SHMMAX 等值

PGError:错误: column of relation does not exist

PostGIS - 将多面体转换为单面体

全文的 Postgresql 前缀通配符

使用 Postgresql 数据库(OSX Lion)创建 Rails 3.1 应用程序

postgresql中的移动平均线