Ver Mensaje Individual
  #3  
Antiguo 23-04-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Cita:
Empezado por rruffino Ver Mensaje
Hola, estoy haciendo un procedimiento almacenado que me calcule la edad de una persona conociendo (o no) su fecha de nacimiento.
Me parece que algo falla aquí. ¿Cómo se supone que se puede saber la edad de una persona si se desconoce su fecha de nacimiento?

Cita:
Empezado por rruffino Ver Mensaje
Les comento, como la fecha de nacimiento puede ser nula, utilizo la funcion COALESCE para obtener una fecha de nacimiento. Luego la idea es a la fecha actual (CURRENT_DATE) restarle esa fecha y posteriormente extraer el año de esa fecha. El tema es que me tira error cuando hago la resta entre las fechas. He buscado por la web pero no encuentro mucho, o lo que encuentro no da resultados. Adjunto el codigo del procedimiento. Gracias!!
Código SQL [-] fecha_ini=coalesce(:fecha_nacimiento, CURRENT_DATE); tmp=CURRENT_DATE; tmp=:tmp - :fecha_ini; edad=EXTRACT(YEAR from :tmp); SUSPEND;
Si fuera nula en fecha ini tendrías justamente la FECHA ACTUAL. Como en tmp también tienes la fecha actual, dicha resta queda en cero. Es obvio que eso no calcula la edad... Replantéate la lógica.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita