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

Oracle SQL Dev, hvordan man beregner antallet af hverdage mellem 2 datoer

Dette svar ligner Nicholas's, hvilket ikke er en overraskelse, fordi du har brug for en underforespørgsel med en CONNECT BY at lave en liste over datoer. Datoerne kan så tælles, mens du tjekker for ugedagen. Forskellen her er, at den viser, hvordan man får ugedages optællingsværdi på hver linje i resultaterne:

SELECT
  FromDate,
  ThruDate,
  (SELECT COUNT(*)
     FROM DUAL
     WHERE TO_CHAR(FromDate + LEVEL - 1, 'DY') NOT IN ('SAT', 'SUN')
     CONNECT BY LEVEL <= ThruDate - FromDate + 1
  ) AS Weekday_Count
FROM myTable

Optællingen er inklusive, hvilket betyder, at den inkluderer FromDate og ThruDate . Denne forespørgsel antager, at dine datoer ikke har en tidskomponent; hvis de gør det, skal du TRUNC datokolonnerne i underforespørgslen.



  1. PHP MySQL mysql_fetch_assoc med array-nøgler kendetegnet ved "som" betegnelser

  2. MySQL datoformat DD/MM/ÅÅÅÅ vælge forespørgsel?

  3. IRI produktnomenklatur og arkitektur

  4. MySql Logic Optimering