Question : Détermination du nombre de jours ouvrables pendant un mois spécifique

J'essaye d'écrire la fonction suivante pour déterminer le nombre de jours ouvrables en mois, mais j'ai des ennuis avec une erreur de syntaxe.  Toutes suggestions : @MONTHDAYS d'INT
SELECT de @RESULT d'INT
DECLARE de @MONTHDAYS de DATETIME
DECLARE de @LASTDAY de DATETIME
DECLARE de @FIRSTDAY du
RETURNS INT
AS
BEGIN
DECLARE de l'udf_integer_Returns_WorkingDaysInSpecifiedMonth (@MONTH international, @YEAR international) de FONCTION du

CREATE =
de CAS QUAND @MONTH = 1 PUIS 31
QUAND @MONTH = 2 PUIS 28
QUAND @MONTH = 3 PUIS 31
QUAND @MONTH = 4 PUIS 30
QUAND @MONTH = 5 PUIS 31
QUAND @MONTH = 6 PUIS 30
QUAND @MONTH = 7 PUIS 31
QUAND @MONTH = 8 PUIS 31
QUAND @MONTH = 9 PUIS 30
QUAND @MONTH = 10 PUIS 31
QUAND @MONTH = 11 PUIS 30
QUAND @MONTH = 12 PUIS 31 @FIRSTDAY du
END

SET = CONVERTI (DATE-HEURE, (CONVERTI (VARCHAR (2), @MONTH) + « /1/ » + CONVERTI (VARCHAR (4), @YEAR))@LASTDAY du
SET = @RESULT de
SET de DATEADD (densité double, @MONTHDAYS, @FIRSTDAY) = @RESULT du @LASTDAY
BEGIN
SET de <> de @FIRSTDAY du
WHILE du
BEGIN de @LASTDAY de <= de @FIRSTDAY de 0
IF = @RESULT + CAS QUAND DATEPART (JOUR DE LA SEMAINE, @FIRSTDAY) DANS (1.7) PUIS 0 AUTREMENT 1 @RESULT
END
de @FIRSTDAY d'END
SET = de
END
END
RETURN de DATEADD (D, 1, @FIRSTDAY) class= de

Réponse : Détermination du nombre de jours ouvrables pendant un mois spécifique

Modification désolée et mineure.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
-- FONCTION GetWorkdays de BAISSE 
CRÉER la FONCTION GetWorkdays (
  @month international,
  international @year 
  ) RETOURS INTERNATIONAL COMME COMMENCENT
  
	déclarer le @result international  
	déclarer la date-heure de @seedDate
	PLACER LE @SEEDDATE = LE DATEADD (ANNÉE, @YEAR - 1900, 0)

	CHOISIR LE @RESULT = LA SOMME (
	  CAS 
		 QUAND DATEPART (jour de la semaine,   DATEADD (d, nombre, @seedDate)) DANS (1.7) 
		 PUIS 0 
		 AUTREMENT 1 
		 EXTRÉMITÉ
	  )
	  du maître. .spt_values
	  là où type = « p »
	  et ANNÉE (DATEADD (d, nombre, @seedDate)) = ANNÉE (@seedDate)
	  et MOIS (DATEADD (d, nombre, @seedDate)) = @month
	@result de retour
EXTRÉMITÉ
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us