Base de datos, Funciones, Funciones de Fecha, PostgreSQLBase de datos, Funciones de Fecha, Funciones PostgreSQL, PostgreSQL
La función AGE en PostgreSQL calcula la diferencia entre dos fechas devolviendo años, meses y días. La función AGE() acepta dos valores TIMESTAMP y resta el segundo argumento del primero devolviendo un intervalo como resultado.
Tabla de Contenidos
ocultar
Sintaxis
AGE(timestamp,timestamp);
Ejemplo
SELECT AGE('2021-12-11','1986-09-26');

Si quisieras que el primer argumento fuese la fecha actual cambiaría un poco la sintaxis:
SELECT AGE(timestamp '1986-09-26') AGE;

y seria posible crear un pl que cambien la impresion de Age “35 years 2 mons 15 days” a ” 35 años 2 meses 15 dias”
Tal vez no sea la mejor solución, pero puede hacerse de la siguiente manera:
create or replace function public.interval_spanish(interval)
returns character varying
language ‘sql’
as $body$
select replace(
replace(
replace(
replace(
$1::varchar,
‘year’,’año’),
‘mons’,’meses’),
‘mon’,’mes’),
‘day’,’día’);
$body$;
select interval_spanish(age(‘2020-01-01’::date))