sql >> Base de Datos >  >> RDS >> PostgreSQL

Función de meses entre dos fechas

Esto es fácil de volver a implementar en PostgreSQL simplemente usando funciones SQL para ordenar lo que ya tiene:

create function months_of(interval)
 returns int strict immutable language sql as $$
  select extract(years from $1)::int * 12 + extract(month from $1)::int
$$;

create function months_between(date, date)
 returns int strict immutable language sql as $$
   select abs(months_of(age($1, $2)))
$$;

Y ahora select months_between('1978-06-20', '2011-12-09') produce 401.