Thread: SQL doubt - Date Add

SQL doubt - Date Add

From
sreejith s
Date:
Hi friends,             I problem is i want to add a specified no. of years to a
given date
ie, 12/12/2004 + 5 = 12/12/2009. This has to be done via sql. Any 
predefined function there for the same. or v have split the yr and
then add.
Sreejith


Re: SQL doubt - Date Add

From
Gaetano Mendola
Date:
sreejith s wrote:> Hi friends,>               I problem is i want to add a specified no. of years to a> given date> ie,
12/12/2004+ 5 = 12/12/2009. This has to be done via sql. Any> predefined function there for the same. or v have split
theyr and> then add.> Sreejith>
 

# select '2004-12-12'::date + 5 * '1 year'::interval;      ?column?
--------------------- 2009-12-12 00:00:00
(1 row)



Regards
Gaetano Mendola



Re: SQL doubt - Date Add

From
Gaetano Mendola
Date:
sreejith s wrote:
> Hi friends,
>               I problem is i want to add a specified no. of years to a
> given date
> ie, 12/12/2004 + 5 = 12/12/2009. This has to be done via sql. Any 
> predefined function there for the same. or v have split the yr and
> then add.
> Sreejith
>

# select '2004-12-12'::date + 5 * '1 year'::interval;      ?column?
--------------------- 2009-12-12 00:00:00
(1 row)



Regards
Gaetano Mendola




Re: SQL doubt - Date Add

From
Richard Huxton
Date:
Gaetano Mendola wrote:
> sreejith s wrote:
> 
>> Hi friends,
>>               I problem is i want to add a specified no. of years to a
>> given date
>> ie, 12/12/2004 + 5 = 12/12/2009. This has to be done via sql. Any 
>> predefined function there for the same. or v have split the yr and
>> then add.
>> Sreejith
>>
> 
> # select '2004-12-12'::date + 5 * '1 year'::interval;
>       ?column?
> ---------------------
>  2009-12-12 00:00:00
> (1 row)

But be aware of...

richardh=# SELECT '2004-02-28'::date + '1 year'::interval;      ?column?
--------------------- 2005-02-28 00:00:00
(1 row)

richardh=# SELECT '2004-02-29'::date + '1 year'::interval;      ?column?
--------------------- 2005-02-28 00:00:00
(1 row)

richardh=# SELECT '2004-02-29'::date + '4 years'::interval;      ?column?
--------------------- 2008-02-29 00:00:00
(1 row)

--   Richard Huxton  Archonet Ltd