AGE
Equivalente en MySQL:
Devuelve la diferencia entre dos momentos en años, meses y días.
PostgreSQL 17.9
AGE([timestamp1, ]timestamp2)- [ ]parte opcional
- timestamp1
- Momento posterior, por defecto la fecha actual (CURRENT_DATE)timestampOpcional
- timestamp2
- Momento anterior, el que se restatimestamp
Valor devuelto
Intervalo (interval) en años, meses y días; negativo si timestamp1 es anterior a timestamp2
Ejemplos
Diferencia entre dos fechas
PostgreSQL 17.9
SELECT AGE('2022-12-05', '2012-06-12');Edad actual de los miembros de la familia
PostgreSQL 17.9
SELECT member_name,
AGE(birthday) AS age
FROM FamilyMembers;Detalles
Con un argumento, la edad se calcula desde la medianoche de la fecha actual. Los años cumplidos se obtienen con EXTRACT(YEAR FROM AGE(birthday)).
La resta simple timestamp - timestamp también da un intervalo, pero en días y horas, sin meses ni años: 67 days 10:00:00 en lugar de 2 mons 7 days 10:00:00.