Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2011, 08:19
Avatar de SangrePura
SangrePura
 
Fecha de Ingreso: febrero-2006
Mensajes: 28
Antigüedad: 18 años, 10 meses
Puntos: 0
Calcular la edad con SQL

Buenas,

Necesito calcular la edad de los empleados de la empresa y mostrarla en un form. Me he dado cuenta que no sirve poner un valor numérico fijo porque al pasar el tiempo queda desactualizado.

Entonces se me ocurrió restar sysdate y la fecha de nacimiento que se inserte para el empleado, el tema es hacerlo lo más preciso posible.

Les muestro la que hice yo y se acerca bastante pero aún no es precisa, por ejemplo, faltando un día para mi cumpleaños ya me dice que lo he cumplido:

Código:
substr(((sysdate-5)-fecha_nacimiento)/365,1,2) "Edad"
Básicamente, resta la fecha del servidor con la fecha de nacimiento del empleado y lo divide por los 365 días del año. A eso se le pone un substr para que muestre sólo 2 dígitos. Tuve que restarle 5 días a sysdate porque.... la verdad no sé por qué, pero de esa manera el resultado fue más preciso.

Veo que la función es bastante básica y que podría ser mejor, agradecería cualquier ayuda para hacerla más precisa.

Saludos,