Vraag : Het bepalen van het aantal werkdagen tijdens een gespecificeerde maand

Ik probeer om de volgende functie te schrijven om het aantal werkdagen in een maand te bepalen, maar ik heb probleem met een syntaxisfout.  Om het even welke suggesties:

CREATE de FUNCTIE udf_integer_Returns_WorkingDaysInSpecifiedMonth (@MONTH int., @YEAR int.)
RETURNS INT
AS
BEGIN
DECLARE @FIRSTDAY DATETIME
DECLARE @LASTDAY DATETIME
DECLARE @MONTHDAYS INT
DECLARE @RESULT INT
SELECT @MONTHDAYS = COMPUTER-AIDED SOFTWARE ENGINEERING
WANNEER @MONTH = 1 TOEN 31
WANNEER @MONTH = 2 TOEN 28
WANNEER @MONTH = 3 TOEN 31
WANNEER @MONTH = 4 TOEN 30
WANNEER @MONTH = 5 TOEN 31
WANNEER @MONTH = 6 TOEN 30
WANNEER @MONTH = 7 TOEN 31
WANNEER @MONTH = 8 TOEN 31
WANNEER @MONTH = 9 TOEN 30
WANNEER @MONTH = 10 TOEN 31
WANNEER @MONTH = 11 TOEN 30
WANNEER @MONTH = 12 TOEN 31
END

SET @FIRSTDAY = ZETTEN (DATETIME, (BEKEERLING (VARCHAR (2) , @MONTH) + „/1/“ + BEKEERLING (OM VARCHAR (4), @YEAR))
SET @LASTDAY = DATEADD (DD, @MONTHDAYS, @FIRSTDAY)
SET @RESULT = 0
IF @FIRSTDAY <= @LASTDAY
BEGIN
WHILE @FIRSTDAY <> @LASTDAY
BEGIN
SET @RESULT = @RESULT + COMPUTER-AIDED SOFTWARE ENGINEERING WANNEER DATEPART (WEEKDAG, @FIRSTDAY) IN (1.7) TOEN 0 ANDERS 1 END
SET @FIRSTDAY = DATEADD (D, 1, @FIRSTDAY)
END
END
RETURN @RESULT
END

Antwoord : Het bepalen van het aantal werkdagen tijdens een gespecificeerde maand

Droevige, minder belangrijke verandering.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
-- De FUNCTIE GetWorkdays van de DALING 
CRE�ëR FUNCTIE GetWorkdays (
  @month int.,
  @year int. 
  ) WINST INT. ZOALS BEGINNEN
  
	verklaar @result int.  
	verklaar @seedDate datetime
	PLAATS @SEEDDATE = DATEADD (JAAR, @YEAR - 1900, 0)

	SELECTEER @RESULT = SOM (
	  COMPUTER-AIDED SOFTWARE ENGINEERING 
		 WANNEER DATEPART (weekdag,   DATEADD (D, aantal, @seedDate)) IN (1.7) 
		 DAN 0 
		 ANDERS 1 
		 EIND
	  )
	  van hoofd. .spt_values
	  waar type = „p“
	  en JAAR (DATEADD (D, aantal, @seedDate)) = JAAR (@seedDate)
	  en MAAND (DATEADD (D, aantal, @seedDate)) = @month
	terugkeer @result
EIND
Andere oplossingen  
 
programming4us programming4us