我想在我的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列中,因此在查询和排序期间,我需要使用适当的数据类型来强制转换这些日期时间。
答案 0 :(得分:3)
以上都不是,请使用timestamp with time zone
数据类型。它可以将时区信息处理为偏移量,时区名称或缩写。