Обсуждение: Age function

Поиск
Список
Период
Сортировка

Age function

От
"Mihai Gheorghiu"
Дата:
PG7.2.1 on RH7.3

SELECT AGE ('10/10/02', '1/10/02');
8mons 30days 23:00

SELECT AGE ('10/10/02 4:00PM', '1/10/02');
9mons 15:00

Please help.
Thank you all.



Re: Age function

От
Joe Conway
Дата:
Mihai Gheorghiu wrote:
> PG7.2.1 on RH7.3
>
> SELECT AGE ('10/10/02', '1/10/02');
> 8mons 30days 23:00
>
> SELECT AGE ('10/10/02 4:00PM', '1/10/02');
> 9mons 15:00
>
> Please help.
> Thank you all.

Not clear what you think the problem is. If it is the apparent 1 hr
discrepancy, I think that is due to the fact that January 10th is "standard"
time for your timezone whereas October 10th is still "daylight savings" time.
Try two dates within daylight savings time:

test=# SELECT AGE ('10/10/02 4:00PM', '7/10/02');
      age
--------------
  3 mons 16:00
(1 row)

test=# SELECT AGE ('10/10/02', '7/10/02');
   age
--------
  3 mons
(1 row)

Looks correct to me.

Joe




Re: Age function

От
"Mihai Gheorghiu"
Дата:
Thanks for the daylight savings tip. However:

SELECT age('10/10/02' :: date, '1/10/02' :: date);
8mons 30days 23:00

SELECT age(date('10/10/02'), date('1/10/02'));
8mons 30days 23:00

When I cast to date, I should get 9 months.
It looks like it works timestamp, with hours and fractions thereof set to
zero. It should not take into account daylight savings, either.
I searched the archives, and this topic has come up more than once over the
past two years.

-----Original Message-----
From: Joe Conway <mail@joeconway.com>
To: Mihai Gheorghiu <tanethq@earthlink.net>
Cc: pgsql-general@postgresql.org <pgsql-general@postgresql.org>
Date: Thursday, October 10, 2002 6:09 PM
Subject: Re: [GENERAL] Age function


>Mihai Gheorghiu wrote:
>> PG7.2.1 on RH7.3
>>
>> SELECT AGE ('10/10/02', '1/10/02');
>> 8mons 30days 23:00
>>
>> SELECT AGE ('10/10/02 4:00PM', '1/10/02');
>> 9mons 15:00
>>
>> Please help.
>> Thank you all.
>
>Not clear what you think the problem is. If it is the apparent 1 hr
>discrepancy, I think that is due to the fact that January 10th is
"standard"
>time for your timezone whereas October 10th is still "daylight savings"
time.
>Try two dates within daylight savings time:
>
>test=# SELECT AGE ('10/10/02 4:00PM', '7/10/02');
>      age
>--------------
>  3 mons 16:00
>(1 row)
>
>test=# SELECT AGE ('10/10/02', '7/10/02');
>   age
>--------
>  3 mons
>(1 row)
>
>Looks correct to me.
>
>Joe
>
>
>