Buenos días SangrePura:
Creo que el problema puede estar en que no trunques las horas, por lo tanto el cálculo puede resultar incorrecto. Además, hay un detalle al dividir entre 365 y es que no estás tomando en cuenta los años bisiestos, esto también te puede acarrear problemas en la exactitud del cálculo. Yo en lo particular utilizo la función MONTHS_BETWEEN para el cálculo de fechas de esta manera:
Código SQL:
Ver originalSELECT
trunc(months_between(to_date(to_char(SYSDATE, 'dd/mm/yyyy'), 'dd/mm/yyyy'), to_date(to_char(CAMPO_FECHA, 'dd/mm/yyyy'), 'dd/mm/yyyy'))/12)
FROM TABLA
Si observas tanto al CAMPO_FECHA como al SYSDATE le quito las horas haciendo una doble conversión, primero con TO_CHAR para dejar una cadena con el formato dd/mm/yyyy y luego una conversión a TO_DATE para regresar esta cadena a tipo Fecha, pero ya sin tomar en cuenta las horas y no tener errores de precisión. Es cuestión de hagas la prueba para ver si te funciona.
saludos
Leo.