sql >> Base de Datos >  >> RDS >> Sqlserver

Calcular la edad de una persona en SQL

Prueba esto...

SELECT CASE WHEN
 (DATEADD(year,DATEDIFF(year, @datestart  ,@dateend) , @datestart) > @dateend)
THEN DATEDIFF(year, @datestart  ,@dateend) -1
ELSE DATEDIFF(year, @datestart  ,@dateend)
END

Simplemente compara la diferencia de años y, si es mayor, resta un año; de lo contrario, devuelve el valor.