MONTHS_BETWEEN (Lakehouse v1)
Renvoie le nombre de mois entre date1 et date2.
Syntaxe Analyze
Section intitulée « Syntaxe Analyze »func.months_between(<date1>, <date2>)Exemples Analyze
Section intitulée « Exemples Analyze »func.months_between(func.to_date('2024-03-15'), func.to_date('2024-02-15'))┌───────────────────────────────────────────────────────────────────────────────┐│ func.months_between(func.to_date('2024-03-15'), func.to_date('2024-02-15')) │├───────────────────────────────────────────────────────────────────────────────┤│ 1 │└───────────────────────────────────────────────────────────────────────────────┘func.months_between(func.to_date('2024-02-15'), func.to_date('2024-03-15'))┌───────────────────────────────────────────────────────────────────────────────┐│ func.months_between(func.to_date('2024-02-15'), func.to_date('2024-03-15')) │├───────────────────────────────────────────────────────────────────────────────┤│ -1 │└───────────────────────────────────────────────────────────────────────────────┘Syntaxe SQL
Section intitulée « Syntaxe SQL »MONTHS_BETWEEN( <date1>, <date2> )Arguments
Section intitulée « Arguments »date1 et date2 peuvent être de type DATE, de type TIMESTAMP, ou un mélange des deux.
Type de retour
Section intitulée « Type de retour »La fonction renvoie une valeur FLOAT selon les règles suivantes :
-
Si date1 est antérieure à date2, la fonction renvoie une valeur négative ; sinon, elle renvoie une valeur positive.
SELECTMONTHS_BETWEEN('2024-03-15'::DATE,'2024-02-15'::DATE),MONTHS_BETWEEN('2024-02-15'::DATE,'2024-03-15'::DATE);-[ RECORD 1 ]-----------------------------------months_between('2024-03-15'::date, '2024-02-15'::date): 1months_between('2024-02-15'::date, '2024-03-15'::date): -1 -
Si date1 et date2 tombent le même jour de leur mois respectif, ou si ce sont toutes deux le dernier jour de leur mois respectif, le résultat est un entier. Sinon, la fonction calcule la partie fractionnaire du résultat sur la base d’un mois de 31 jours.
SELECTMONTHS_BETWEEN('2024-02-29'::DATE,'2024-01-29'::DATE),MONTHS_BETWEEN('2024-02-29'::DATE,'2024-01-31'::DATE);-[ RECORD 1 ]-----------------------------------months_between('2024-02-29'::date, '2024-01-29'::date): 1months_between('2024-02-29'::date, '2024-01-31'::date): 1SELECTMONTHS_BETWEEN('2024-08-05'::DATE,'2024-01-01'::DATE);-[ RECORD 1 ]-----------------------------------months_between('2024-08-05'::date, '2024-01-01'::date): 7.129032258064516 -
Si date1 et date2 correspondent à la même date, la fonction ignore les composantes d’heure et renvoie 0.
SELECTMONTHS_BETWEEN('2024-08-05'::DATE,'2024-08-05'::DATE),MONTHS_BETWEEN('2024-08-05 02:00:00'::TIMESTAMP,'2024-08-05 01:00:00'::TIMESTAMP);-[ RECORD 1 ]-----------------------------------months_between('2024-08-05'::date, '2024-08-05'::date): 0months_between('2024-08-05 02:00:00'::timestamp, '2024-08-05 01:00:00'::timestamp): 0