[Oracle] - Zapytanie określające liczbę miesięcy od daty X

0

Bardzo proszę o pomoc jak w prostszy sposób określić liczbę miesięcy od bieżącej daty.

Mam tabelę z kolumną DATA typ danych number(8), przykładowo 20180824. Muszę sprawdzić ile miesięcy upłynie do daty np. 20500421.

Robię to na ten moment jako:

 CASE 
        WHEN cfl_date BETWEEN add_months(to_date(DATA , 'YYYYMMDD'), 0) AND add_months(to_date(DATA , 'YYYYMMDD'), 1)
        THEN '0M'
        WHEN cfl_date BETWEEN add_months(to_date(DATA , 'YYYYMMDD'), 1) + 1 AND add_months(to_date(DATA , 'YYYYMMDD'), 2)
        THEN '1M'
        WHEN cfl_date BETWEEN add_months(to_date(DATA , 'YYYYMMDD'), 2) + 1 AND add_months(to_date(DATA , 'YYYYMMDD'), 3)
        THEN '2M'

Jednak taki case będzie bardzo długi, bardzo proszę o podpowiedź jak zrobić to w prostszy sposób.

1

The Oracle/PLSQL MONTHS_BETWEEN function returns the number of months between date1 and date2.

0

@wemibo: dziękuje bardzo!

1 użytkowników online, w tym zalogowanych: 0, gości: 1