sql >> Databáze >  >> RDS >> PostgreSQL

Funkce měsíců mezi dvěma daty

Toto lze snadno znovu implementovat v PostgreSQL pouze pomocí funkcí SQL, abyste uklidili to, co již máte:

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)))
$$;

A teď select months_between('1978-06-20', '2011-12-09') produkuje 401.



  1. Získání ORA-01031:nedostatečná oprávnění při dotazování na tabulku místo ORA-00942:tabulka nebo pohled neexistuje

  2. Vložte datum do Oracle

  3. Structured Query Language – důležitost učení se SQL

  4. Jak spustit dotaz MYSQL v předem definovaný pevný čas?