我想在SQL数据库中存储日期时间字符串。其中一些可能具有时区意识。我有三种存储方式:
-
将它们存储为不带时区的字符串,如
'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
数据类型。它可以将时区信息处理为偏移量、时区名称或缩写。