Hola, estoy haciendo un procedimiento almacenado que me calcule la edad de una persona conociendo (o no) su fecha de nacimiento. Estoy usando Firebird 2.1 y la base está en dialecto 3.
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;