MONTHS_BETWEEN (Lakehouse v1)
Zwraca liczbę miesięcy między date1 a date2.
Składnia Analyze
Dział zatytułowany „Składnia Analyze”func.months_between(<date1>, <date2>)Przykłady Analyze
Dział zatytułowany „Przykłady 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 │└───────────────────────────────────────────────────────────────────────────────┘Składnia SQL
Dział zatytułowany „Składnia SQL”MONTHS_BETWEEN( <date1>, <date2> )Argumenty
Dział zatytułowany „Argumenty”date1 i date2 mogą być typu DATE, typu TIMESTAMP lub obu typów naraz.
Zwracany typ
Dział zatytułowany „Zwracany typ”Funkcja zwraca wartość FLOAT zgodnie z następującymi regułami:
-
Jeśli date1 jest wcześniejsza niż date2, funkcja zwraca wartość ujemną; w przeciwnym razie zwraca wartość dodatnią.
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 -
Jeśli date1 i date2 przypadają na ten sam dzień swoich miesięcy lub obie są ostatnim dniem swoich miesięcy, wynik jest liczbą całkowitą. W przeciwnym razie funkcja oblicza część ułamkową wyniku na podstawie miesiąca liczącego 31 dni.
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 -
Jeśli date1 i date2 są tą samą datą, funkcja ignoruje wszelkie składniki czasu i zwraca 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