sql >> Database >  >> RDS >> Oracle

Oracle:dagen tussen twee datums en weekdagen uitsluiten hoe om te gaan met negatieve getallen

Aangepast van mijn antwoord hier:

Verkrijg het aantal dagen tussen de maandagen van beide weken (gebruik TRUNC( datevalue, 'IW' ) als een NLS_LANGUAGE onafhankelijke methode om de maandag van de week te vinden) voeg vervolgens de dag van de week toe (maandag =1, dinsdag =2, enz., tot een maximum van 5 om weekends te negeren) voor de einddatum en trek de dag van de week af voor de startdatum. Zoals dit:

SELECT ( TRUNC( end_date, 'IW' ) - TRUNC( start_date, 'IW' ) ) * 5 / 7
       + LEAST( end_date - TRUNC( end_date, 'IW' ) + 1, 5 )
       - LEAST( start_date - TRUNC( start_date, 'IW' ) + 1, 5 )
          AS WeekDaysDifference
FROM   your_table


  1. Hoe kan ik detecteren dat een query voor maken, bijwerken en verwijderen succesvol is in Codeigniter?

  2. haal de tabelnaam op uit een kolom voor van clausule

  3. Verbinding maken met de PostgreSQL-database via SSH-tunneling in Python

  4. Ontdek vrije ruimte op tablespace