Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzione MONTHS_BETWEEN
MONTHS_BETWEEN determina il numero di mesi tra due date.
Se la prima data è posteriore alla seconda, il risultato è positivo, altrimenti è negativo.
Se uno degli argomenti è null, il risultato è NULL.
Sintassi
MONTHS_BETWEEN( date1, date2 )
Argomenti
- date1
-
Una colonna di tipo di dati
DATE
o un'espressione che restituisce un tipoDATE
. - date2
-
Una colonna di tipo di dati
DATE
o un'espressione che restituisce un tipoDATE
.
Tipo restituito
FLOAT8
La parte del numero intero del risultato è basata sulla differenza tra i valori di anno e di mese delle date. La parte frazionaria del risultato viene calcolata a partire dai valori di giorno e timestamp delle date e presuppone un mese di 31 giorni.
Se date1 e date2 contengono la stessa data in un mese (ad esempio, 15/01/14 e 15/02/14) o l'ultimo giorno del mese (ad esempio, 31/08/14 e 30/09/14), il risultato è un numero intero basato sui valori di anno e mese delle date, indipendentemente dalla corrispondenza o meno dell'eventuale parte di timestamp.
Esempi
L'esempio seguente restituisce i mesi tra il 18/01/1969 e il 18/03/1969:
select months_between('1969-01-18', '1969-03-18')
as months;
months
----------
-2
L'esempio seguente restituisce i mesi tra il 18/01/1969 e il 18/01/1969:
select months_between('1969-01-18', '1969-01-18')
as months;
months
----------
0
L'esempio seguente restituisce i mesi tra la prima e l'ultima proiezione di un evento:
select eventname,
min(starttime) as first_show,
max(starttime) as last_show,
months_between(max(starttime),min(starttime)) as month_diff
from event
group by eventname
order by eventname
limit 5;
eventname first_show last_show month_diff
---------------------------------------------------------------------------
.38 Special 2008-01-21 19:30:00.0 2008-12-25 15:00:00.0 11.12
3 Doors Down 2008-01-03 15:00:00.0 2008-12-01 19:30:00.0 10.94
70s Soul Jam 2008-01-16 19:30:00.0 2008-12-07 14:00:00.0 10.7
A Bronx Tale 2008-01-21 19:00:00.0 2008-12-15 15:00:00.0 10.8
A Catered Affair 2008-01-08 19:30:00.0 2008-12-19 19:00:00.0 11.35