首页 > 解决方案 > Postgresql 日期类型在公元 0 年有一个世纪的空白

问题描述

我正在使用 PostgreSQL,在处理基督诞生那一刻的日期时,突然遇到了 0 AD 时间点的问题。

说,

update mytable 
   set mydate='0000-09-01' 
where id=1; 

给我

错误:日期/时间字段值超出范围:“0000-09-01”`

而两者

update mytable 
  set mydate='0001-09-01' 
where id=1;

update mytable 
   set mydate='0001-09-01 BC' 
where id=1;

工作正常。

即问题是我不能将 0 AD 日期存储在我的数据库中,这在我的时间轴上造成了一个世纪的空白。有没有人遇到过同样的问题?这是一个将在下一个 PostgreSQL 版本中修复的错误吗?是否有任何解决方法(将日期存储为字符串除外)?

标签: postgresqldate

解决方案


推荐阅读