SQL - DEVOLVER UN AÑO DESPUES

   
Vista:

DEVOLVER UN AÑO DESPUES

Publicado por Miguel (4 intervenciones) el 07/12/2015 03:44:48
Quiero crear una funcion que me permita ingresar una fecha y me devuelva un año despues contando solo dias habiles.
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 xve

DEVOLVER UN AÑO DESPUES

Publicado por xve (237 intervenciones) el 07/12/2015 10:56:03
Que motor de base de datos estas utilizando?

En mysql, sumar un año a una fecha es tan sencillo como:
1
select DATE_ADD(now(),interval 1 year)

Coméntanos, ok?
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

DEVOLVER UN AÑO DESPUES

Publicado por Miguel (4 intervenciones) el 07/12/2015 16:37:10
SQL SERVER 2012
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

DEVOLVER UN AÑO DESPUES

Publicado por Isaias (690 intervenciones) el 07/12/2015 17:59:13
En SQL Server, para sumar un año o restar un año, es con la funcion DATEADD

1
2
SELECT DATEADD(YY, -2, GETDATE()) --Aqui restas 2 años a la funcion GETDATE()
SELECT DATEADD(YY, 2, GETDATE()) --Aqui sumas 2 años a la funcion GETDATE()
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

DEVOLVER UN AÑO DESPUES

Publicado por Miguel (4 intervenciones) el 07/12/2015 20:05:14
pero quiero que solo cuente los dias habiles, solo de lunes a viernes.
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

DEVOLVER UN AÑO DESPUES

Publicado por Isaias (690 intervenciones) el 07/12/2015 22:21:26
¿Algo mas?

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
create FUNCTION dbo . fnc_GetDiasHabiles3 ( @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
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