Bases de Datos - como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

 
Vista:
Imágen de perfil de miller
Val: 3
Ha aumentado su posición en 9 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

Publicado por miller (2 intervenciones) el 26/02/2020 03:46:23
deseo saber como Crear un Procedimiento almacenado que recibe una fecha y nos retorna el número de días que faltan para acabar el año
alguien que me pueda ayudar?
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 joel
Val: 122
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

Publicado por joel (46 intervenciones) el 26/02/2020 08:22:14
Hola Miller, para que motor de base de datos?
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 miller
Val: 3
Ha aumentado su posición en 9 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

Publicado por miller (2 intervenciones) el 26/02/2020 18:44:41
para SQL SERVER
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 Leonardo Daniel A.
Val: 434
Oro
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

Publicado por Leonardo Daniel A. (211 intervenciones) el 28/02/2020 21:58:59
tomense la molestia de contestar.... uno invierte tiempo haciendo la investigacion y la prueba.. como para que te dejen ahi nada mas...
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 Leonardo Daniel A.
Val: 434
Oro
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

Publicado por Leonardo Daniel A. (211 intervenciones) el 26/02/2020 20:34:50
Hola, hace mucho que no ando en SQL Server, pero por suerte lo tenia instalado, asi que hice algunas investigaciones de conversiones y aqui esta el resultado, aunque la fecha la mando como String... ya lo adaptas como lo necesites

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE PROCEDURE dias_restantes
	@fecha varchar(10),
	@dias int OUTPUT
AS
BEGIN
	DECLARE @anio varchar(4);
	DECLARE @fin_anio DATE;
 
	SET @anio = CONVERT(varchar, @fecha, 101);
 
	SET @fin_anio = Cast(CONCAT(@anio, '-12-31') as date);
	SET @dias = DATEDIFF(day, CAST(@fecha as date), @fin_anio);
	SELECT @dias;
END
GO

y lo llamas asi

1
2
3
4
5
declare @dato char
execute dias_restantes '2017-08-25', @dato output
 
 
regresa: 128 que son correctos
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
Val: 27
Ha disminuido 1 puesto en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

como Crear un PA que recibe una fecha y nos retorna el número de días que faltan para acabar el año

Publicado por LeopoldoTaylhardat (15 intervenciones) el 24/03/2020 12:31:40
Saludos y feliz día.

para empezar no sería un procedimiento sino una función ya que te retorna un valor.

en TransactSQL (Sybase y SQL Server) existe la función "DATEDIFF" que da la diferencia entre dos fechas ya sea días, meses o años..

DATEDIFF ( date-part, date-expr1, date-expr2 ) Returns date2 - date1, measured in the specified date part. For example, the following statement displays the value 102.

SELECT datediff( month, '1987/05/02', '1995/11/15')


Espero que te sirva.
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