¿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.