Обсуждение: SQL doubt - Date Add
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
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
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
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