Werkdagen in SQL berekenen

Er is geen ingebouwde functie voor berekenen werkdagen in SQL. Werkdagen worden doorgaans gedefinieerd als de vijf dagen in een week, niet met inbegrip van weekend. Meerdere technieken zoals looping of opzoeken tabellen kan worden gebruikt, maar aantoonbaar de meest eenvoudige techniek is het gebruik van pure SQL-instructies.

Instructies

1

Maak een nieuwe SQL-bestand in uw voorkeur SQL-ontwikkelomgeving.

2

Voer in de SQL-code:

VERKLAREN @DateOld datetime, @DateNew datetime

SET @EndDate = ' 10-Sep-2006'--begindatum vervangen

SET @StartDate = ' 12-Dec-2006'--substitue enddate

SET DATEFIRST 1

Selecteer DATEDIFF (dag, @EndDate, @StartDate) - (2 * DATEDIFF (week, @EndDate, @StartDate)) - CASE wanneer DATEPART (weekdag, @EndDate + @@DATEFIRST) = 1 dan 1 ELSE 0 END - geval wanneer DATEPART (weekdag, @StartDate + @@DATEFIRST) = 1 dan 1 ELSE 0 einde

Overwegende dat de opmerkingen over de lijnen 2 en 3.

3

De SQL-code uit te voeren.

Tips & waarschuwingen

  • Deze methode houdt niet rekening vakantie. De techniek beschreven kan worden gewijzigd voor het gebruik van een tabel die opgeslagen vakantie passende naar gebieden waar de query werd gebruikt.