sql >> Database teknologi >  >> RDS >> Oracle

Hvordan får man en liste over måneder mellem 2 givne datoer ved hjælp af en forespørgsel?

Sådan noget her

SQL> ed
Wrote file afiedt.buf

    select to_char( add_months( start_date, level-1 ), 'fmMonth' )
      from (select date '2011-03-30' start_date,
                   date '2011-06-29' end_date
              from dual)
     connect by level <= months_between(
                           trunc(end_date,'MM'),
                           trunc(start_date,'MM') )
  *                      + 1
SQL> /

TO_CHAR(ADD_MONTHS(START_DATE,LEVEL-
------------------------------------
March
April
May
June

burde virke.



  1. Grunde til at opgradere til SQL Server 2017

  2. GroupingError:ERROR:kolonnen skal vises i GROUP BY-sætningen eller bruges i en aggregeret funktion

  3. NLS_COLLATION_NAME() Funktion i Oracle

  4. 6 måder at slette duplikerede rækker, der har en primær nøgle i SQLite