SQLServer Function - Cantidad de mismos días de la Semana, en un período de tiempo.

Función SQLServer, útil para devolvernos la cantidad de días en un determinado periodo de tiempo. Cuando necesitamos saber cuantos días de hay en un tiempo determinado que correspondan al mismo día de la semana, esta es la solución. En el ejemplo se obtienen todos los dominio del mes de febrero...

¿Función SQLServer, útil para devolvernos la cantidad de días en un determinado período de tiempo. Cuando necesitamos saber cuantos días de hay en un tiempo determinado que correspondan al mismo día de la semana, esta es la solución. En el ejemplo se obtienen todos los dominio del mes de febrero... Espero les sirva y me escriban sus comentarios! MartinSC.

Importante:
Esta función es de autoria de JMSoluciones Informáticas.
CREATE FUNCTION [usGeneral].[DiasCantidad_PorDiaSemana]
(@FechaInicio Date, @FechaFin Date, @DiaSemana INT)

Returns INT

AS

Begin

/*
JMSOL.com.ar
Autor: Martin San Cristobal
Email: mscmartin@hotmail.com
Comentario: #

select usGeneral.DiasCantidad_PorDiaSemana('20120201', '20120228', 1)
*/

DECLARE @AUX INT
DECLARE @Dias INT
DECLARE @DiasMes INT
DECLARE @Fecha DateTime

SET @Dias = 0
SET @AUX = 0
SET @Dias = Datediff(d, @FechaInicio, @FechaFin)
SET @DiasMes = 0

WHILE @AUX < @Dias
begin

SET @Fecha = DateAdd(d, @AUX, @FechaInicio)

if (DatePart(w, @Fecha) = @DiaSemana)
SET @DiasMes = @DiasMes + 1

SET @AUX = @AUX + 1

end

return (@DiasMes)

End
Volver a Novedades