Re: Date Math - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Date Math
Date
Msg-id 200705071205.06089.aklaver@comcast.net
Whole thread Raw
In response to Re: Date Math  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Monday 07 May 2007 12:00 pm, Tom Lane wrote:
> Adrian Klaver <aklaver@comcast.net> writes:
> > With this setup you will have to use an explicit string-
> > date_issued + INTERVAL  term|| 'years'. This will involve constructing a
> > string and passing it to INTERVAL.
>
> No, that's a truly awful way to do it.  The correct way is to use number
> times interval multiplication, eg
>
>     date_issued + term * '1 year'::interval;
>
> This reduces to not much more than a floating-point multiply, whereas
> the other way involves string-forming and string-parsing.  Plus you
> can easily use whatever multiplier you like, eg '7 days' if weeks
> strike your fancy.
>
> It might be that converting those columns to interval is the best
> answer, depending on what other processing needs to be done with them.
> But if Rich wants to leave them as numbers, the above is the best way
> to convert them to intervals on-the-fly.
>
>             regards, tom lane
Yea, I realized the error of my ways after hitting send. An ounce of proof
reading prevents a pound of oops.
--
Adrian Klaver
aklaver@comcast.net

pgsql-general by date:

Previous
From: Andrew Kroeger
Date:
Subject: Re: Slow query and indexes...
Next
From: "Paolo Saudin"
Date:
Subject: R: Postgres 8.3-dev