Re: SELECT and DATE Function question - Mailing list pgsql-admin

From Aaron Bono
Subject Re: SELECT and DATE Function question
Date
Msg-id bf05e51c0609102227u10e4e4c6j7fcdb06690bb9f5b@mail.gmail.com
Whole thread Raw
In response to SELECT and DATE Function question  ("Mike C" <smith.not.western@gmail.com>)
Responses Re: SELECT and DATE Function question  ("Mike C" <smith.not.western@gmail.com>)
Re: SELECT and DATE Function question  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-admin
On 9/10/06, Mike C <smith.not.western@gmail.com> wrote:
Hi,

I'm trying to calculate an expiration date by adding the number of days onto the start date. i.e. select start_date + number_of_days from blah;

create table blah (start_date timestamp, number_of_days integer);
insert into blah values (current_timestamp, 25);
select start_date + number_of_days from blah;

The error I get is:

ERROR:  operator does not exist: timestamp without time zone + integer
HINT:  No operator matches the given name and argument type(s). You may need to add explicit type casts.

But according to http://www.postgresql.org/docs/8.1/static/functions-datetime.html the + operator should support integers and treat them as days ( date '2001-09-28' + integer '7'). Obviously typing a constant into the query is a lot different from using the value of a column, but I would have thought it would work.

What is the correct way to make this calculation?

 
Use:

select start_date + (cast(number_of_days as text) || ' days')::interval from blah

See http://www.postgresql.org/docs/8.1/interactive/functions-datetime.html for more

==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

pgsql-admin by date:

Previous
From: "Mike C"
Date:
Subject: SELECT and DATE Function question
Next
From: "Mike C"
Date:
Subject: Re: SELECT and DATE Function question