That works great, thank you!

Mike

On 9/11/06, Aaron Bono <[EMAIL PROTECTED]> wrote:
On 9/10/06, Mike C <[EMAIL PROTECTED] > 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
==================================================================

Reply via email to