| From: | Dmitry <dwl_pgsql(at)dewil(dot)ru> |
|---|---|
| To: | pgsql-ru-general(at)postgresql(dot)org |
| Subject: | Re: некорр |
| Date: | 2005-12-16 11:50:51 |
| Message-ID: | 43A2AA1B.90901@dewil.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-ru-general |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alexander M. Pravking | 2005-12-16 12:21:54 | Re: некорр |
| Previous Message | Alexander M. Pravking | 2005-12-16 10:55:00 | Re: некорр |