View a markdown version of this page

Funzione MONTHS_BETWEEN - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dalla Patch 198. Le UDF Python esistenti continueranno a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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 )

Arguments (Argomenti)

date1

Una colonna di tipo di dati DATE o un'espressione che restituisce un tipo DATE.

date2

Una colonna di tipo di dati DATE o un'espressione che restituisce un tipo DATE.

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 entrambe la stessa data entro un mese (ad esempio, 1/15 /14 e 2/15 /14) o l'ultimo giorno del mese (ad esempio, 8/31 /14 e 9/30 /14), il risultato è un numero intero basato sui valori dell'anno e del mese delle date, indipendentemente dal fatto che la parte del timestamp corrisponda, se presente.

Esempi

L'esempio seguente restituisce i mesi compresi tra /1969 e /1969. 1/18 3/18

select months_between('1969-01-18', '1969-03-18') as months; months ---------- -2

L'esempio seguente restituisce i mesi compresi tra /1969 e /1969. 1/18 1/18

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