¡Descubre el Secreto de la Edad en SQL Server! Calcula Edades en un Parpadeo

¿Te has preguntado alguna vez cómo calcular la edad de forma rápida y eficiente utilizando SQL Server? ¡No busques más! En este breve tutorial, te revelaremos un forma fácil para obtener la edad de tus datos con solo unos pocos pasos en SQL Server.

La clave para calcular la edad radica en la función DATEDIFF y algunos trucos astutos. Para empezar, necesitarás la fecha de nacimiento de tus usuarios o clientes. Luego, con un simple cálculo, podrás mostrar la edad en años de manera precisa.

Sin embargo, solo utilizando la función DateDiff tendríamos inconvenientes, solo resta los años no tiene en cuenta el mes y el día.

¿Cómo lo Solucionamos?

 El siguiente código utiliza la función DateDiff y me ha funcionado mucho

Select DATEDIFF(YEAR,Convert(datetime, '22/01/1980',103),GETDATE())-
			(CASE  WHEN DATEADD(YY,DATEDIFF(YEAR,Convert(datetime,'22/01/1980',103),GETDATE()),
					Convert(datetime,'22/01/1980',103))>GETDATE() THEN 1
				ELSE 0  End) as Edad

Pero existe este otro código, que me gusta y funciona de maravilla:

Select Floor((cast(convert(varchar(8),getdate(),112) as int)-
	Cast(convert(varchar(8),Convert(datetime,'22/01/1980',103),112) as int) ) / 10000) as Edad 

Para este último ejemplo; convertimos la fecha como una cadena pegada (22011980), esto lo restamos, luego dividimos entre 10000 y finalmente redondeamos con la función Sql floor.

Share:

Como buscar procedimiento almacenado si esta programado como Job

A continuacion podemos ver como buscar un procedimiento almacenado en Sql Server si esta programado como Job:

select sj.*
from msdb.dbo.sysjobs sj
inner join msdb.dbo.sysjobsteps sjs on sj.job_id = sjs.job_id
inner join msdb.dbo.sysjobschedules sjsc on sjs.job_id = sjsc.job_id
where sjs.command like'%Nombreprocedimientoalmacenado%'
Share:

Como Calcular de forma facil, la edad en años meses y dias en Sql

Una manera fácil y sencilla de obtener la edad de una persona en términos de Año, mes o día en Sql Server, se puede realizar a partir del siguiente ejemplo:

Declare @FechaNacimiento datetime
Set @FechaNacimiento = '05/16/2011'
Select Convert(Integer, Datediff(Day, @FechaNacimiento, Getdate())/365.25)EdadAños,
 Convert(Integer, Datediff(Day, @FechaNacimiento, Getdate())/30)EdadMeses,
 Convert(Integer, Datediff(Day, @FechaNacimiento, Getdate()))EdadDias 

El resultado de la ejecución anterior seria lo siguiente:


Analizando un poco el ejemplo anterior, lo que se hace es declarar una variable que almacena la fecha de nacimiento, luego ésta es pasada a cada una de las instrucciones Sql que consulta la edad en años, Meses y días.

Leer Mas:

Los invito ha consultar el código que nos permite obtener el tamaño de las tablas de una Base de datos Sql.
Share:

Parámetros OUTPUT en procedimientos almacenados

A continuación podemos ver un pequeño ejemplo en Sql Server de como crear un procedimiento almacenado (SP) con la declaración de parámetros entre estos uno de salida (Output), finalmente se muestra la ejecución del SP y retorna el resultado de la variable Output.

--Crear Procedimiento almacenado
create procedure spdeprueba
 @parametro1  int
 ,@parametro2 int
 ,@resultado  int output --variable de salida
As
begin
 set @respuesta = @parametro1 + @parametro2
end
go

--Ejecutar el procedimiento almacenado e imprimir la variable output
Declare @resultado int

Execute spdeprueba 1,2, @resultado output

Select @resultado
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""
Share:

Procedimiento almacenado programado en Job

Buscar en Sql Server un procedimiento almacenado que se encuentre programado en un JOB (dentro de sus pasos de ejecución) muchas veces puede llegar a ser necesario.

En el siguiente código Sql pueden ver como se puede obtener a partir del nombre o las iniciales de procedimiento almacenado el nombre, fecha de creación y modificación, ultima fecha de creación, entre otros.

Select sj.name,sj.description,sj.date_created,sj.date_modified,sjs.command,sjs.last_run_duration,sjs.last_run_date,last_run_time,
  sjsc.next_run_date,next_run_time
From msdb.dbo.sysjobs sj
 Inner join msdb.dbo.sysjobsteps sjs 
On sj.job_id = sjs.job_id
 Inner join msdb.dbo.sysjobschedules sjsc 
On sjs.job_id = sjsc.job_id
where sjs.command Like'%paDCProcesoDiario%'




Share: