Skip site navigation (1) Skip section navigation (2)

Re: BUG #4878: function age() give a wrong interval

From: "Philippe Amelant" <pamelant(at)companeo(dot)com>
To: "Frank Heikens" <frankheikens(at)mac(dot)com>
Cc: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #4878: function age() give a wrong interval
Date: 2009-06-25 10:50:35
Message-ID: 1245927035.32711.33.camel@philippe-desktop (view raw or flat)
Thread:
Lists: pgsql-bugs
Le jeudi 25 juin 2009 à 11:40 +0200, Frank Heikens a écrit :
> select
> 	age(
> 		'2009-06-23 18:36:05.064066+02' ,
> 		'2009-05-12 18:36:05.064066+02') ;
> 
> Result: "1 mon 11 days"
> 
> select justify_interval('1000 hours');
> 
> Result: "1 mon 11 days 16:00:00"
> 
> select
> 	age(
> 		'2009-06-23 18:36:05.064066+02' ,
> 		'2009-05-12 18:36:05.064066+02')
> 	> interval '1000 hours'
> ;
> 
> Result: false
> 
> And that's correct, 1 month and 11 days is less than 1 month, 11 days  
> and 16 hours, it's not more. This is the actual comparison:
> 
> select interval '1 mon 11 day' > interval '1 mon 11 day 16 hour';
> 
> I don't see a problem nor a bug.

this is wrong because first interval is 1008 hour and the second is 1000
hours

In the first case you have a month with 31 days and in the second you
have a month with 30 days

try this

select
age(current_timestamp , current_timestamp - '1008 hours'::interval)
> interval '1000 hours'

so 1000 > 1008 

regards


In response to

Responses

pgsql-bugs by date

Next:From: Frank HeikensDate: 2009-06-25 11:02:39
Subject: Re: BUG #4878: function age() give a wrong interval
Previous:From: Frank HeikensDate: 2009-06-25 09:40:51
Subject: Re: BUG #4878: function age() give a wrong interval

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group