Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak podzielić na miesiące i pogrupować miesiące w kwartale

Problem z wypróbowanym rozwiązaniem polega na tym, że brakuje Ci kroku.

Jeśli Twoje kwartały różnią się o jeden miesiąc od „standardowych” kwartałów, to – biorąc pod uwagę datę, dowolną datę – musisz przesunąć datę do przodu o jeden miesiąc, wtedy skróć do kwartału, a następnie cofnij o jeden miesiąc. Wykonałeś kroki 2 i 3, ale brakuje Ci kroku 1.

with
  inputs ( dt ) as (
    select to_date('02-Jan-18', 'dd-Mon-yy') from dual union all
    select to_date('02-Feb-18', 'dd-Mon-yy') from dual union all
    select to_date('05-Mar-18', 'dd-Mon-yy') from dual union all
    select to_date('08-Apr-18', 'dd-Mon-yy') from dual union all
    select to_date('05-May-18', 'dd-Mon-yy') from dual union all
    select to_date('05-Jun-18', 'dd-Mon-yy') from dual union all
    select to_date('05-Jul-18', 'dd-Mon-yy') from dual union all
    select to_date('09-Aug-18', 'dd-Mon-yy') from dual union all
    select to_date('10-Sep-18', 'dd-Mon-yy') from dual union all
    select to_date('11-Oct-18', 'dd-Mon-yy') from dual union all
    select to_date('11-Nov-18', 'dd-Mon-yy') from dual union all
    select to_date('11-Dec-18', 'dd-Mon-yy') from dual
  )
select dt,
       add_months(trunc(add_months(dt, 1), 'q'), -1) as qtr
from   inputs;

DT          QTR     
---------   ---------
02-Jan-18   01-Dec-17
02-Feb-18   01-Dec-17
05-Mar-18   01-Mar-18
08-Apr-18   01-Mar-18
05-May-18   01-Mar-18
05-Jun-18   01-Jun-18
05-Jul-18   01-Jun-18
09-Aug-18   01-Jun-18
10-Sep-18   01-Sep-18
11-Oct-18   01-Sep-18
11-Nov-18   01-Sep-18
11-Dec-18   01-Dec-18


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopiowanie wiersza w tej samej tabeli bez konieczności wpisywania ponad 50 nazw kolumn (przy zmianie 2 kolumn)

  2. Jak wstawić/zaktualizować większy rozmiar danych w tabelach Oracle?

  3. Przestrzenie tabel w Oracle

  4. Jak zaimportować partycję z jednej tabeli do drugiej w Oracle?

  5. Utworzenie pliku .jks z pliku .crt i .key jest możliwe