Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Calcular la Edad en SQL con ACCESS

Estas en el tema de Calcular la Edad en SQL con ACCESS en el foro de Bases de Datos General en Foros del Web. Hola a todos Tengo una duda muy simple pero que no sé resolverla. En una base de datos en access tengo un campo que es ...
  #1 (permalink)  
Antiguo 24/09/2003, 10:20
 
Fecha de Ingreso: agosto-2003
Ubicación: Islas Canarias - Gran Canaria -
Mensajes: 59
Antigüedad: 21 años, 3 meses
Puntos: 0
Calcular la Edad en SQL con ACCESS

Hola a todos

Tengo una duda muy simple pero que no sé resolverla. En una base de datos en access tengo un campo que es la fecha de nacimiento. Quiero calcular la edad y para ello resto la fecha actual con la del campo:

select (date()-FechaNacimiento) as edad From empleados;

El resultado es un número enorme y no sé por qué.

¿Alguien me puede decir como se hace?

Gracias
  #2 (permalink)  
Antiguo 26/09/2003, 04:33
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Todo depende de como sea el campo FechaNacimiento, si no es un campo fecha, no podrás hacerlo directamente, antes debes convertirlo a fecha
  #3 (permalink)  
Antiguo 27/09/2003, 04:22
 
Fecha de Ingreso: agosto-2003
Ubicación: Islas Canarias - Gran Canaria -
Mensajes: 59
Antigüedad: 21 años, 3 meses
Puntos: 0
el número enorme eran los días que tenía esa persona. Así q para calcular los años lo q hize fue dividirlo por 365 y quedarme con la parte entera.
  #4 (permalink)  
Antiguo 24/06/2005, 10:47
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 21 años, 3 meses
Puntos: 1
recuerda que no todos los años tienen 365 días
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
  #5 (permalink)  
Antiguo 24/06/2005, 11:05
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 21 años, 3 meses
Puntos: 1
en oracle me sirve esto:

SELECT nbrpercompleto,
(to_number(to_char(sysdate,'YYYY')) - to_number(to_char(fecnacimiento,'YYYY'))) -
case
when to_char(sysdate,'MMDD') < to_char(fecnacimiento,'MMDD') then 1
else 0
end edad
from lcl_maepersona

sysdate: la fecha del sistema, puedes reemplazar por la fecha que quieras
fecnacimiento: la fecha de nacimiento en la tabla
edad: solo el nombre de la columna que le doy al resultado
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:08.