我想在我的 SQL 数据库中存储日期时间字符串。其中一些可能是时区感知的。我有 3 种存储方式:
将它们存储为不带时区的字符串,例如
'1995-01-13 12:41:04.231132'
,并存储时区偏移量'+0000'
在单独的列中。将它们存储为不带时区的字符串,例如
'1995-01-13 12:41:04.231132'
,并存储时区名称'Africa/Cairo'
在单独的列中。将整个内容存储为字符串:
'1995-01-13 12:41:04.231132+0000'
,并附加偏移量。
执行此操作的理想方法是什么?
注意:我使用的是 PostgreSQL 数据库。
额外的细节:我实际上将这些日期时间存储在我的 PostgreSQL 数据库的一个 JSONB 列中,因此在查询和排序期间,我需要使用适当的数据类型来转换它们。
最佳答案
以上都不是,使用timestamp with time zone
数据类型。它可以将时区信息作为偏移量、时区名称或缩写来处理。
关于sql - 在 PostgreSQL 数据库中存储时区感知的理想方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53964230/