Come calcolare giorni lavorativi in ​​SQL

July 26

Non c'è una funzione built-in per il calcolo giorni lavorativi in ​​SQL. giorni lavorativi sono tipicamente definiti come i cinque giorni in una settimana, esclusi i fine settimana. tecniche multiple come le tabelle di loop o cercare potrebbero essere utilizzati, ma forse la tecnica più semplice è utilizzando le istruzioni SQL puri.

istruzione

1 Creare un nuovo file SQL nell'ambiente di sviluppo di SQL preferito.

2 Inserire il SQL:

DICHIARARE @DateOld datetime, datetime @DateNew

SET @EndDate = '10 -sep 2006 '--substitute data di inizio

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

SET DATEFIRST 1

SELEZIONE DATEDIFF (giorno, @EndDate, @StartDate) - (2 * DATEDIFF (settimana, @EndDate, @StartDate)) - CASO QUANDO DATEPART (giorno della settimana, @ DataFine + @@ DATEFIRST) = 1 allora 1 altrimenti 0 END - CASO QUANDO DATEPART (giorno della settimana, @ DataInizio + @@ DATEFIRST) = 1 allora 1 altrimenti 0 END

notando i commenti sulle linee 2 e 3.

3 Eseguire il SQL.

Consigli e avvertenze

  • Questo metodo non prende in considerazione le vacanze. La tecnica descritta potrebbe essere modificato per utilizzare una tabella che le vacanze memorizzate appropriate per le zone in cui è stato utilizzato l'interrogazione.