Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/08/2009, 15:29
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Calcular cantidad de dias lunes de fecha uno a fecha dos

Aunque no me gusta trabajar con ciclos, ya que la funcion la aplicas n veces segun el numero de dias que halla en el rango, incluso creo que se puede evitar el insert..



Código:
alter FUNCTION CuantosDiasSemana(@FechaInicio datetime,@FechaFin datetime,@DiaSemana tinyint = 1)
returns int
AS

begin 

IF @FechaInicio > @FechaFin 
	RETURN 0 
	
DECLARE @icuenta int

SET @icuenta = 0

while @FechaInicio <= @FechaFin    
BEGIN
	IF DATEPART(WEEKDAY, @FechaInicio) = @DiaSemana
		SET @icuenta = @icuenta + 1
		
	SET @FechaInicio = @FechaInicio + 1		
END
	
RETURN @icuenta

END

Como comentario, fijate que en el server tengo una tabla con las fechas por dia y rangos de semana, meses...mismas que me son de mucha utilidad cuando requiero por ejemplo hacer cortes, o contar cosas como estas...

no tengo que andar insertando porque ya esta ahi la info..





Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.