roundoff problem in time datatype
От | Tom Lane |
---|---|
Тема | roundoff problem in time datatype |
Дата | |
Msg-id | 501.1127669185@sss.pgh.pa.us обсуждение исходный текст |
Ответы |
Re: roundoff problem in time datatype
Re: roundoff problem in time datatype |
Список | pgsql-hackers |
Inserting into a time field with limited precision rounds off, which is good except for this case: regression=# select '23:59:59.9'::time(0); time ----------24:00:00 (1 row) This is bad because: regression=# select '24:00:00'::time(0); ERROR: date/time field value out of range: "24:00:00" which means that data originally accepted will fail to dump and reload. I see this behavior in all versions back to 7.3. 7.2 was even more broken: regression=# select '23:59:59.9'::time(0); time ----------00:00:00 (1 row) I think the correct behavior has to be to check for overflow again after rounding off. Alternatively: why are we forbidding the value 24:00:00 anyway? Is there a reason not to allow the hours field to exceed 23? regards, tom lane
В списке pgsql-hackers по дате отправления: