Postgresql тип даты имеет недействительность одного века в 0 нашей эры - PullRequest
1 голос
/ 30 апреля 2019

Я работаю с PostgreSQL и во время работы с датами в момент рождения Христа неожиданно возникла проблема с 0 н.э.

Скажи,

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? Есть ли обходной путь (кроме хранения дат в виде строк)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...