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

Oracle Jak wypisać ostatnie dni miesięcy między 2 datami

To byłoby DISTINCT + LAST_DAY , jak przypuszczam.

Ustawianie formatu daty (tak, aby pasował do Twojego; alternatywnie zastosuj TO_CHAR do jour wartość z odpowiednią maską formatu):

SQL> alter session set nls_Date_format = 'yyyymmdd';

Session altered.

skróciłem zakres czasu do 2 lat (aby zaoszczędzić miejsce :)).

SQL> select distinct last_day(to_date('01/01/2000','dd/mm/yyyy') + (LEVEL-1)) as jour
  2  from dual
  3  connect by level <= to_date('31/12/2002','dd/mm/yyyy')-to_date('01/01/2000','dd/mm/yyyy')
  4  order by 1;

JOUR
--------
20000131
20000229
20000331
20000430
20000531
20000630
20000731
20000831
<snip>
20020630
20020731
20020831
20020930
20021031
20021130
20021231

36 rows selected.

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiedy poprawny kod SQL da zły wynik?

  2. Jak mogę utworzyć dynamiczną klauzulę WHERE?

  3. Wstawianie tablicy byte[] jako obiektu BLOB w bazie danych Oracle Pobieranie ORA-01460:zażądano niewdrożonej lub nieuzasadnionej konwersji

  4. Wymiana części pakietu Oracle

  5. EF i TransactionScope zarówno dla SQL Server, jak i Oracle bez eskalacji/rozszerzania do DTC?