Le mercredi 24 juin 2009 à 12:45 +0000, Jasen Betts a écrit : > On 2009-06-24, Philippe Amelant <pamelant@xxxxxxxxxxxx> wrote: > > Ok but if I work with hours or whatever the problem is still there > > > > SELECT (EXTRACT(EPOCH FROM TIMESTAMP '2009-06-23 18:36:05.064066+02') - > > EXTRACT(EPOCH FROM TIMESTAMP '"2009-05-12 18:36:05.064066+02"'))/3600, > > EXTRACT(EPOCH FROM interval '1008 hours')/3600, age('2009-06-23 > > 18:36:05.064066+02' ,'"2009-05-12 18:36:05.064066+02"') > interval '1007 > > hours'; > > > > The third test should be true and not false > > The third test is comparing a double with an interval. > compare like with like. > > SELECT (EXTRACT(EPOCH FROM TIMESTAMP '2009-06-23 18:36:05.064066+02') - > EXTRACT(EPOCH FROM TIMESTAMP '"2009-05-12 18:36:05.064066+02"'))/3600, > EXTRACT(EPOCH FROM interval '1008 hours')/3600, age('2009-06-23 > 18:36:05.064066+02' ,'"2009-05-12 18:36:05.064066+02"') > > EXTRACT(EPOCH FROM interval '1007 hours'); > > > >From de doc : age(timestamp, timestamp) return an interval so if I wrote select age('2009-06-23 18:36:05.064066+02' ,'"2009-05-12 18:36:05.064066 +02"') > interval '1000 hours'; I think I compare an interval with an interval. the result should be true because there is 1008 hours between the 2 dates But I need to substract more than 24 hours to get a 'true' select age('2009-06-23 18:36:05.064066+02' ,'"2009-05-12 18:36:05.064066 +02"') > interval '983 hours'; So age() lost 24 H. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general