sql >> Databasteknik >  >> RDS >> Oracle

Oracle Hur man listar sista dagar i månader mellan 2 datum

Det skulle vara DISTINCT + LAST_DAY , antar jag.

Ställ in datumformat (så att det matchar ditt; alternativt använd TO_CHAR till jour värde med lämplig formatmask):

SQL> alter session set nls_Date_format = 'yyyymmdd';

Session altered.

Jag förkortade tidsrymd till 2 år (för att spara utrymme :)).

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. Använd en pl-sql-procedur eller markör för att välja topp 3-rankning

  2. Villkorlig lead/lag-funktion PostgreSQL?

  3. SQLcl för att överföra data från Oracle till PostgreSQL eller YugabyteDB 🅾🐘🚀

  4. Hur man konverterar en MySQL-databas till UTF-8-kodning