Questione : Determinazione del numero dei giorni lavorativi durante il mese specificato

Sto provando a scrivere la seguente funzione per determinare il numero dei giorni lavorativi in mese, ma sto avendo difficoltà con un errore di sintassi.  Qualsiasi suggerimenti: @MONTHDAYS di INT
SELECT del @RESULT di INT
DECLARE del @MONTHDAYS di DATETIME
DECLARE del @LASTDAY di DATETIME
DECLARE del @FIRSTDAY del
RETURNS INT
AS
BEGIN
DECLARE del udf_integer_Returns_WorkingDaysInSpecifiedMonth (@MONTH INT, @YEAR INT) di FUNZIONE del

CREATE =
di CASO QUANDO @MONTH = 1 ALLORA 31
QUANDO @MONTH = 2 ALLORA 28
QUANDO @MONTH = 3 ALLORA 31
QUANDO @MONTH = 4 ALLORA 30
QUANDO @MONTH = 5 ALLORA 31
QUANDO @MONTH = 6 ALLORA 30
QUANDO @MONTH = 7 ALLORA 31
QUANDO @MONTH = 8 ALLORA 31
QUANDO @MONTH = 9 ALLORA 30
QUANDO @MONTH = 10 ALLORA 31
QUANDO @MONTH = 11 ALLORA 30
QUANDO @MONTH = 12 ALLORA 31 @FIRSTDAY del
END

SET = CONVERTITO (DATETIME, (CONVERTITO (VARCHAR (2), @MONTH) + “/1/„ + CONVERTITO (VARCHAR (4), @YEAR))@LASTDAY del
SET = @RESULT del
SET di DATEADD (dd, @MONTHDAYS, @FIRSTDAY) = @RESULT del @LASTDAY
BEGIN
SET del <> del @FIRSTDAY del
WHILE del
BEGIN del @LASTDAY del <= del @FIRSTDAY di 0
IF = @RESULT + CASO QUANDO DATEPART (GIORNO DELLA SETTIMANA, @FIRSTDAY) IN (1.7) ALLORA 0 ALTRIMENTI 1 @RESULT
END
del @FIRSTDAY di END
SET = del
END
END
RETURN di DATEADD (D, 1, @FIRSTDAY) class= del

Risposta : Determinazione del numero dei giorni lavorativi durante il mese specificato

Cambiamento spiacente e secondario.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
-- FUNZIONE GetWorkdays di GOCCIA 
GENERARE la FUNZIONE GetWorkdays (
  @month int,
  int @year 
  ) RITORNI INT COME COMINCIANO
  
	dichiarare il @result int  
	dichiarare il datetime del @seedDate
	REGOLARE IL @SEEDDATE = DATEADD (ANNO, @YEAR - 1900, 0)

	SELEZIONARE IL @RESULT = LA SOMMA (
	  CASO 
		 QUANDO DATEPART (giorno della settimana,   DATEADD (d, numero, @seedDate)) IN (1.7) 
		 ALLORA 0 
		 ALTRIMENTI 1 
		 ESTREMITÀ
	  )
	  dal padrone. .spt_values
	  dove tipo = “p„
	  ed ANNO (DATEADD (d, numero, @seedDate)) = ANNO (@seedDate)
	  e MESE (DATEADD (d, numero, @seedDate)) = @month
	@result di ritorno
ESTREMITÀ
Altre soluzioni  
 
programming4us programming4us