【发布时间】:2020-08-31 19:09:02
【问题描述】:
我有一个存储物种发生数据的 PostgreSQL 数据库。其中一个字段是表示发生日期的真实日期字段。
但是,尤其是历史数据,我们没有准确的信息。例如,有时它只包含月份或年份。其他的,可能是一个季节和一年。等等。
过去,我们使用“虚拟”日期和其他字段中的附加备注来处理此问题。例如,对于 2010 年 3 月,我们可能会默认为 2010-03-01。
但是,我们的一位生物学家对此提出了一些担忧。她根本不喜欢虚拟数据。
我搜索了高低,看看 Postgres 是否允许在日期字段中仅输入月份和年份或仅输入年份。相反,它是否可以有和超出范围的日期来标记没有数据,例如2010-03 仅捕获月份和年份或 2010 仅捕获年份或 2010-03-00 以指示缺少日期。我来空了。 (这很接近:How to store dates with different levels of precision in postgres?)
有什么建议吗?我忽略了什么吗?之前有没有在其他地方解决过这个问题(如果有,我没找到)?
【问题讨论】:
-
对当前数据提出了哪些担忧?
-
是的,如果信息不存在,那么我不确定是否有任何系统会改进它。它归结为获取您拥有的信息,或者如果它不完整(无论是什么),然后将其声明为 NULL。在某些时候,有人将不得不决定如何分配数据。
标签: postgresql date missing-data