SQL Server - calcular fechas en sql

 
Vista:

calcular fechas en sql

Publicado por Sebastian (3 intervenciones) el 04/01/2011 15:33:42
Hola....necesitoo un poco de ayuda con un trabajo que me pidieron necesito calcular los dias libres que tiene un trabajador entre dos fechas

fehca inio fecha termino
10/11/2010 10/11/2010
15/11/2010 16/11/2010
18/11/2010 25/11/2010

estas por ejemplo son algunas de las fechas donde el calculo tiene que ser entre la fecha de termino del primer registro y la fecha de inicio del segundo registro... en otras palabras debo calcular la fecha que no existe o que no esta en los datos el datediff no me sirve por que me calcula la suma de los dias entre la fecha de inicio y la fecha de termino si alguien me pudiera ayudar le agradezco de antemano .... tengo k realizar un procedimiento almacenado en sql server 2005
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

RE:calcular fechas en sql

Publicado por Loría (56 intervenciones) el 04/01/2011 16:45:13
Buenos días Sebastián.

Este tema ya había sido tratado antes pero a lo inverso, o sea crear un procedimiento para contar los días laborales. He utilizado el mismo procedimiento pero para que se adapte a tu necesidad. Indícanos si esto te sirve

CREATE FUNCTION dbo.DiasLibres
( @FechaInicial datetime,
@FechaFinal datetime )
RETURNS INT
AS
BEGIN

DECLARE @varfecha DATETIME
DECLARE @diaslaborales int

SET @varfecha = @FechaInicial
SET @diaslaborales = 0

WHILE (@varfecha<>(@FechaFinal + 1))
BEGIN
IF (DATEPART(dw,@varfecha) IN (7,1))
BEGIN
SET @diaslaborales = @diaslaborales +1
END
SET @varfecha = @varfecha + 1
END
RETURN @diaslaborales
END

Saludos.

Loría.
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