SQL Server - Mostrar fecha laboral

 
Vista:
sin imagen de perfil

Mostrar fecha laboral

Publicado por Jorge C. (2 intervenciones) el 14/05/2016 19:05:02
Buenos días....

Tengo una consulta si me pueden ayudar.

- Quiero realizar una function o procedure en sql server que realice lo sgte.

1. Parámetro a pasar a la function o procedure seria... la fecha '20160512' y un valor numérico (1,2,3,4 etc) para que me muestre la fecha laboral obviando sábados y domingos. Ej..: si la fecha que le paso es '20160512' y 3 debería de devolverme '20160517' obviando sábado y domingo...

Les agradecería me ayuden con esto.

Desde ya muchas gracias.
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Mostrar fecha laboral

Publicado por Isaias (4558 intervenciones) el 16/05/2016 18:28:22
¿Que Edicion - Version de SQL Server manejas?, ¿Que avance llevas?
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Mostrar fecha laboral

Publicado por Isaias (4558 intervenciones) el 16/05/2016 19:52:58
No creo que le sirvan de mucho tus ligas, ya que son de VISUAL BASIC o VISUAL .NET

Aqui la solucion en una funcion de usuario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE FUNCTION dbo.fnc_GetDiasHabiles ( @FechaInicio smalldatetime , @DiasAdicionales tinyint ) returns datetime
AS
BEGIN
 
DECLARE @Count tinyint
DECLARE @NumeroDia int
SET @Count = 1
SET @FechaInicio = Convert ( datetime , @FechaInicio , 103 )
 
WHILE ( @Count <= @DiasAdicionales )
BEGIN
Set @NumeroDia = Datepart ( dw , DATEADD ( day , @Count , @FechaInicio ))
 
while ( @NumeroDia = 1 OR @NumeroDia = 7 )
BEGIN
set @DiasAdicionales = @DiasAdicionales + 1
Set @NumeroDia = @NumeroDia + 1
END
 
SET @Count = @Count + 1
END
 
RETURN DATEADD ( day , @DiasAdicionales , @FechaInicio )
 
END
-- drop function fnc_GetDiasHabiles
 
-- Se ejecuta asi
select dbo.fnc_GetDiasHabiles ( '20160512' , 3)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Mostrar fecha laboral

Publicado por Jorge.C (2 intervenciones) el 17/05/2016 18:32:03
Gracias Hugo por tu comentario, Gracias Isaias, lo tuyo me encajo a la perfección...
mil gracias.


Saludos Cordiales desde Py.
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

Mostrar fecha laboral

Publicado por Dayra (8 intervenciones) el 19/05/2016 04:12:54
Y si ademas de desestimar sabado y domingos tambien necesito q verifiq las fechas de feriados q tengo en una tabla llamada ListaFeriados q contiene 14 fechas definidas? Gracias mil
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