Procedimiento almacenado para calular la edad

Apenas soy un novato en la programación y más aun en SQL y quisiera saber si es posible por medio de un procedimiento almacenado extrraer la fecha de nacimiento de una tabla llamada persona de una persona en particular y calcular la edad actual de la persona tomando en cuenta los anos bisiestos y si es así como podría hacerse

1 respuesta

Respuesta
1
No existe un stored que haga eso, pero lo puedes crear, usa la función datediff de SQL para tal efecto, te paso un ejemplo que se me ocurre muy simple:
Create stored Age_Person
@Name as Varchar(30), -- En esta variable se ingresar el nombre de la persona a buscar
@PeriodTime as Varchar(10) -- en esta otra variable el periodo de tiempo a calcular (día, semana, mes, año)
As
-- Calcular la edad en aos
If @PeriodTime = 'Año'
Begin
Select Nombre, datediff(yy, fecha_nacimiento, Getdate()) from persona
End
-- calcular la edad en dias
If @PeriodTime = 'Dia'
Begin
Select Nombre, datediff(d, fecha_nacimiento, Getdate()) from persona
End
-- calcular la edad en meses
If @PeriodTime = 'Mes'
Begin
Select Nombre, datediff(m, fecha_nacimiento, Getdate()) from persona
End
-- calcular la edad en semanas
If @PeriodTime = 'Semana'
Begin
Select Nombre, datediff(wk, fecha_nacimiento, Getdate()) from persona
End
GO
El stored se manda ejecutar así:
Exec Age_Person 'JUAN PEREZ', 'Ao'
Y regresara algo así más o menos
            JUAN PEREZ 22
Para más información de la función datediff en SQL query analizer ilumina la palabra y presiona la tecla F1
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas