Re: Help with syntax for timestamp addition

Поиск
Список
Период
Сортировка
От Scott Nixon
Тема Re: Help with syntax for timestamp addition
Дата
Msg-id 1101141876.23458.26.camel@talon
обсуждение исходный текст
Ответ на Re: Help with syntax for timestamp addition  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
> So I think what you probably *really* want is
>
> ... WHERE CAST(date AS date) + numdays <= CURRENT_DATE;


Thanks Tom!  Yeah, I guess you are right on that point.  I hadn't thought about that.
The implementation of this wouldn't be affected since this query is buried in a script
that runs out of cron once a day, but I suppose I might as well do it right if I'm
going to do it.



On Mon, 2004-11-22 at 11:31, Tom Lane wrote:
> Scott Nixon <snixon@lssi.net> writes:
> > Am having some trouble with a query that worked in 7.0 but not in
> > 7.3.....can't seem to figure out the syntax or find info about how to do
> > this anywhere.
>
> > SELECT number
> > FROM procedures
> > WHERE date + numdays <= CURRENT_TIMESTAMP;
>
> > In 7.0 this works with no problem...
>
> (Tries it...) The reason it worked in 7.0 was that 7.0 would implicitly
> down-convert the timestamp value to a value of type date, and then apply
> the date-plus-integer operator.  The operator is still there, but later
> versions are less willing to apply information-losing type coercions
> implicitly.  So the exact equivalent of what you were doing before is
>
> ... WHERE CAST(date AS date) + numdays <= CURRENT_TIMESTAMP;
>
> The comparison portion of this will require an up-conversion from date
> back to timestamp, which is inefficient and pointless (not to mention
> that it exposes you to daylight-savings-transition issues, because
> CURRENT_TIMESTAMP is timestamp with time zone).  So I think what you
> probably *really* want is
>
> ... WHERE CAST(date AS date) + numdays <= CURRENT_DATE;
>
> which keeps both the addition and the comparison as simple date
> operations with no sub-day resolution and no timezone funnies.
>
>             regards, tom lane
--
______________________________________
D. Scott Nixon

           LSSi Corp.
  email:   nixon@lssi.net
    url:   http://www.lssi.net/~snixon
  phone:   (919) 466-6834
    fax:   (919) 466-6810
______________________________________


В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Help with syntax for timestamp addition
Следующее
От: "Kall, Bruce A."
Дата:
Сообщение: SELECT duplicates in a table