Días hábiles sin tabla calendario

10/12/2008 - 09:20 por Alhambra Eidos Desarrollo | Informe spam
Hola a todos,

tengo este caso, que intentaré resumir.

Tengo básicamente una tabla Documentos con un campo FechaDocumento (un
datetime) que almacena el valor de la fecha de indexación de un documento con
el valor de fecha y hora (dd-mm-yyyy hh:mm:ss)

La cuestión es que quiero filtrar por el campo FechaDocumento a partir de
dos condiciones:

Que hayan pasado 2 días desde la fecha de Recogida

Y

Que hayan pasado 12 días hábiles desde Fecha de Firma

Nota: Fecha de Recogida y Fecha de Firma son dos valores de fecha.
Días hábiles (lunes a viernes, NO SE CONSIDERAN SABADOS NI DOMINGOS, NO
EXISTE TABLA CALENDARIO)


Cómo puedo expresar en una consulta estas condiciones de filtro , puedo
hacerlo en una consulta para filtrar por días hábiles ??

No se utiliza tabla calendario, sólo se considera sabados y domingos como
días no laborables.

Cualquier ayuda se agradecería.

Saludos cordiales.



http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.com/churrosoft
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft
 

Leer las respuestas

#1 Carlos Sacristan
10/12/2008 - 12:36 | Informe spam
La siguiente función te devuelve el número de días laborables (mejor dicho,
el número de días que no son sábado ni domingos) entre dos fechas

**********************************


CREATE FUNCTION dbo.fn_WorkingDays (@s DATETIME, @e DATETIME)
RETURNS INT AS
BEGIN

DECLARE @wks INT, @days INT, @satDays INT, @sundays INT

SELECT @wks = DATEDIFF( week, @s, @e) - 1, @days = DATEDIFF( day,
@s, @e) + 1
SELECT @satDays = @wks, @sundays = @wks

IF DATEPART(weekday, @s + @@DATEFIRST - 1) < 7
SELECT @satDays = @satDays + 1, @sundays = @sundays + 1

IF DATEPART(weekday, @e + @@DATEFIRST- 1) IN(6, 7)
SELECT @satDays = @satDays + 1

RETURN (@days - (@satDays + @sundays));

END


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Alhambra Eidos Desarrollo" wrote:


Hola a todos,

tengo este caso, que intentaré resumir.

Tengo básicamente una tabla Documentos con un campo FechaDocumento (un
datetime) que almacena el valor de la fecha de indexación de un documento con
el valor de fecha y hora (dd-mm-yyyy hh:mm:ss)

La cuestión es que quiero filtrar por el campo FechaDocumento a partir de
dos condiciones:

Que hayan pasado 2 días desde la fecha de Recogida

Y

Que hayan pasado 12 días hábiles desde Fecha de Firma

Nota: Fecha de Recogida y Fecha de Firma son dos valores de fecha.
Días hábiles (lunes a viernes, NO SE CONSIDERAN SABADOS NI DOMINGOS, NO
EXISTE TABLA CALENDARIO)


Cómo puedo expresar en una consulta estas condiciones de filtro , puedo
hacerlo en una consulta para filtrar por días hábiles ??

No se utiliza tabla calendario, sólo se considera sabados y domingos como
días no laborables.

Cualquier ayuda se agradecería.

Saludos cordiales.



http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.com/churrosoft
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft

Preguntas similares