miércoles, 18 de agosto de 2010

Calcular edad en un SQL de Access

Me he visto muchos ejemplos para calcularla en formularios, o en consultas sencillas, pero en una en puro sql no había forma, así que guardo aquí la chuleta


Lo podemos hacer de manera similar a la consulta de selección. Tendriamos que abrir la consulta en modo SQL y escribir lo siguiente:

SELECT nombretabla.[campo1], DateDiff("yyyy",[campo1], Date()) AS Campo2 FROM nombretabla;

Si quisiésemos mostrar más campos añadiriamos más campos a nuestra sentencia SQL. es decir, imaginemos que queremos mostrar los campos Nombre, Apellidos, Fecha de nacimiento de nuestra tabla denominada Datos y un cuarto campo denominado Edad que muestre la edad que tiene cada persona en función de la fecha de nacimiento.

Siguiendo la sentencia genérica establecida anteriormente indicariamos lo siguiente:

SELECT Datos.Nombre, Datos.Apellidos, Datos.[Fecha de nacimiento], DateDiff("yyyy", [Fecha de nacimiento], Date()) As Edad FROM Datos


Con esto estamos diciendo Selecciona (SELECT) los campos Nombre, Apellidos y Fecha de nacimiento y muestra la diferencia de edad entre la fecha actual y la fecha de nacimiento de cada persona como el campo Edad de la tabla Datos.

En mi ejemplo era para unir datos de 3 tablas y calcular la edad teniendo la fecha nacimiento:



SELECT Sexo, DateDiff("yyyy", [Fecha nacimiento], Date()) As Edad, Desempleado, Nacionalidad, APUsuarios.[Estado Civil], EstudiosReglados
FROM APUsuarios union all
SELECT Sexo, DateDiff("yyyy", [Fecha nacimiento], Date()) As Edad, Desempleado, Nacionalidad, APUsuarios1.[Estado Civil], EstudiosReglados
FROM APUsuarios1 UNION ALL SELECT Sexo, DateDiff("yyyy", [Fecha nacimiento], Date()) As Edad, Desempleado, Nacionalidad, APUsuarios2.[Estado Civil], EstudiosReglados
FROM APUsuarios2;

1 comentario:

  1. QUIERO CALCULAR LA EDAD. LA TABLA SE LLAMA DATOS PERSONALES Y TENGO NOMBRE APELLIDO EDAD Y FECHA DE NACIMIENTO CUAL ES LA FORMULA POR FAVOR

    ResponderEliminar