Cuestión : Determinación del número de días laborables durante un mes especificado

Estoy intentando escribir la función siguiente para determinar el número de días laborables en un mes, pero estoy teniendo apuro con un error de sintaxis.  Cuaesquiera sugerencias: @MONTHDAYS de INT
SELECT del @RESULT de INT
DECLARE del @MONTHDAYS de DATETIME
DECLARE del @LASTDAY de DATETIME
DECLARE del @FIRSTDAY del
RETURNS INT
AS
BEGIN
DECLARE del udf_integer_Returns_WorkingDaysInSpecifiedMonth (@MONTH internacional, @YEAR internacional) de la FUNCIÓN del

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

SET = CONVERTIDO (FECHA Y HORA, (CONVERTIDO (VARCHAR (2), @MONTH) + “/1/” + CONVERTIDO (VARCHAR (4), @YEAR))@LASTDAY del
SET = @RESULT del
SET de DATEADD (DD, @MONTHDAYS, @FIRSTDAY) = @RESULT del @LASTDAY
BEGIN
SET del <> del @FIRSTDAY del
WHILE del
BEGIN del @LASTDAY del <= del @FIRSTDAY de 0
IF = @RESULT + CASO CUANDO DATEPART (DÍA LABORABLE, @FIRSTDAY) EN (1.7) ENTONCES 0 1 @RESULT
END
del @FIRSTDAY de END
SET = del
END
END
RETURN de DATEADD (D, 1, @FIRSTDAY) class= del

Respuesta : Determinación del número de días laborables durante un mes especificado

Cambio apesadumbrado, de menor importancia.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
-- FUNCIÓN GetWorkdays de la GOTA 
CREAR la FUNCIÓN GetWorkdays (
  @month internacional,
  internacional @year 
  ) VUELTAS INTERNACIONAL COMO COMIENZAN
  
	declarar el @result internacional  
	declarar la fecha y hora del @seedDate
	FIJAR EL @SEEDDATE = DATEADD (AÑO, @YEAR - 1900, 0)

	SELECCIONAR EL @RESULT = LA SUMA (
	  CASO 
		 CUANDO DATEPART (día laborable,   DATEADD (d, número, @seedDate)) EN (1.7) 
		 ENTONCES 0 
		 1 
		 EXTREMO
	  )
	  del amo. .spt_values
	  donde tipo = “p”
	  y AÑO (DATEADD (d, número, @seedDate)) = AÑO (@seedDate)
	  y MES (DATEADD (d, número, @seedDate)) = @month
	@result de vuelta
EXTREMO
Otras soluciones  
 
programming4us programming4us