我有一个postgresql数据库,用来存储包含时区(UTC偏移量)的日期时间。我使用了timestampz
类型,因为它似乎是我所需要的,但当我插入一个日期时间时,UTC偏移量被转换为UTC+00:
例如,如果我插入2022-10-20 00:00:00+01
,实际存储的数据将变为2022-10-19 23:00:00+00
。
这看起来并不像很多,但是我们在这个过程中丢失了一些信息。有没有一种方法可以保留偏移量而不添加一个列来存储这些信息(或时区)?
我有一个postgresql数据库,用来存储包含时区(UTC偏移量)的日期时间。我使用了timestampz
类型,因为它似乎是我所需要的,但当我插入一个日期时间时,UTC偏移量被转换为UTC+00:
例如,如果我插入2022-10-20 00:00:00+01
,实际存储的数据将变为2022-10-19 23:00:00+00
。
这看起来并不像很多,但是我们在这个过程中丢失了一些信息。有没有一种方法可以保留偏移量而不添加一个列来存储这些信息(或时区)?
1条答案
按热度按时间yx2lnoni1#
不,在这方面PostgreSQL与SQL标准有分歧。如果你想保留时区信息,你需要一个额外的列。如果你这样做,考虑存储IANA时区名称,如
Europe/Paris
,而不是UTC偏移量。