Alexander M. Pravking wrote:
> On Fri, Dec 16, 2005 at 01:44:14PM +0300, Dmitry wrote:
>
>> например:
>> test=# select date '2005-02-30';
>> ERROR: date/time field value out of range: "2005-02-30"
>>
>>
> Сомнительное преимущество - ведь не узнаешь, корректная на самом деле
> дата или нет.
>
30 февраля явно не корректная.
я больше склонен привести ее к корректному дню того же месяца.
>
>> Какие есть методы для PG?
>>
>
> Встречный вопрос: откуда, собственно, берутся эти некорректные даты?
>
простой пример.
у вас форма на сайте, где юзверь указывает дату.
хоть даже простая форма вывода отчетов за период, где указывается год,
месяц, число.
кто не даст криворукому указать 31 число в том месяце, где его нет.
обычно в таких случаях я проводил коррекцию на веб-серверном ПО. а если
это вынести в базу, будет правильней имхо.
> PG'шная арифметика над датами/таймштампами, на мой взгляд, вообще
> сказочная.
согласен. мне очень нравятся механизмы, которые есть в PG для работы с
датами.
> Если такая некорректность возникает в результате вычислений,
> то проще делать их средствами самого PG.
>
некорректность может появиться только от внешнего источника, при поиске
или insert.
--
WBR, Dmitry. DWL-RIPE. http://dewil.ru/contact