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