From: | "Ernesto Verbanaz" <ernesto(dot)verbanaz(at)syswarp(dot)com(dot)ar> |
---|---|
To: | "'Lista Postgres'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Diferencia de tiempo |
Date: | 2009-05-20 14:26:24 |
Message-ID: | 97FCA3A9CB3046EEA031A277554E8CBF@syswarpuno |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> -----Mensaje original-----
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-
> owner(at)postgresql(dot)org] En nombre de Miguel Angel
> Enviado el: Miércoles, 20 de Mayo de 2009 10:17
> Para: Lista Postgres
> Asunto: [pgsql-es-ayuda] Diferencia de tiempo
>
> Buenos días.
>
> Quisiera preguntar si hay forma de saber la diferencia de tiempo que hay
> entre dos fechas expresada en meses como por ejemplo:
>
> Si tengo la fecha de inicio '2008-12-15' y la fecha '2009-01-01'
> quisiera poder obtener el resultado de 1 mes de diferencia; no es un
> resultado correcto en diferencia de días pero si en meses y eso es lo
> que necesito.
>
> Hay forma de poder obtener algo así en Postgres o es necesario cree una
> función o lógica para ello?
>
> Soñando algo como:
> Fecha_final | Fecha_inicial | diferencia_meses
> '2010-01-01' | '2008-12-31' | 13
> '2009-02-15' | '2008-12-31' | 2
> '2011-05-30' | '2008-02-20' | 39
No se si es el formato que realmente necesitas, pero con la función
pg_catalog.age() podrías jugar y lograr algo interesante ....
Aquí va un ejemplo:
SELECT REPLACE(
REPLACE(
REPLACE(
REPLACE(
UPPER(
AGE(
('1986-08-31')::TIMESTAMP
)::VARCHAR)
, 'YEAR', 'AÑO')
, 'MONS', 'MESES')
, 'MON', 'MES')
, 'DAY', 'DIA')
Saludos.
From | Date | Subject | |
---|---|---|---|
Next Message | Oswaldo Hernández | 2009-05-20 14:32:01 | Re: The database cluster was initialized without HAVE_INT64_TIMESTAMP |
Previous Message | Emanuel Calvo Franco | 2009-05-20 14:22:20 | Re: The database cluster was initialized without HAVE_INT64_TIMESTAMP |