SQL Server - calcular numero de lunes o martes entre dos fechas

   
Vista:

calcular numero de lunes o martes entre dos fechas

Publicado por Javier (8 intervenciones) el 18/11/2013 13:39:51
Buenos días, estoy diseñando un informe y para ello necesito obtener el número de lunes o martes que existe entre dos fechas por ejemplo para 01-11-2013 a 30-11-2013 existen 4 lunes, 5 viernes,etc..
no se como puedo obtener este datos, espero me puedan ayudar.
Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

calcular numero de lunes o martes entre dos fechas

Publicado por Isaias (3186 intervenciones) el 19/11/2013 19:45:14
Crea una función de usuario, donde pases como parámetros 2 fechas, creas un ciclo y vas sumando de acuerdo al DATEPART(dw, tufecha), de acuerdo a la siguiente tabla:

1 domingo
2 lunes
3 martes
4 miércoles
5 jueves
6 viernes
7 sábado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

calcular numero de lunes o martes entre dos fechas

Publicado por Isaias (3186 intervenciones) el 19/11/2013 20:16:54
Una pequeña guía:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE FUNCTION dbo.udf_DayOfWeek(@dtDate1 DATETIME, @dtDate2 DATETIME, @dayOfWeek int)
RETURNS int
AS
 BEGIN
 DECLARE @Total INT
 SET @Total = 0
 WHILE @dtDate2 > @dtDate1
  BEGIN
   IF DATEPART(dw, @dtDate1) = @dayOfWeek
     SET @Total = @Total + 1
	 SET @dtDate1 = DATEADD(dd, 1, @dtDate1)
	 CONTINUE
  END
  RETURN (@Total)
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar