Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2021, 15:04
byzard
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 303
Antigüedad: 20 años, 8 meses
Puntos: 0
consulta sql edad group by

Estimados,

estoy tratando de calcular una edad y luego agruparla pero me sale errores, como por ejemplo "el valor de entrada no es lo bastante largo para el formato de fecha".

la consulta:

SELECT count(*), villa_nom FROM (
SELECT villa_nom, villa_num
,trunc(months_between(to_date('20190701','YYYYMMDD '),to_date(to_number(fecha_nacimiento),'yyyymmdd') )/12) AS edad
from PERSONAS t1
WHERE villa_num=15101
and sexo = 1
)
WHERE edad > 20
GROUP BY villa


Me funciona bien si le quito el "WHERE edad > 20". Pero quiero filtrar algo por el estilo, pero ya se me cae. Hay alguna otra forma?

básicamente estoy obteniendo la edad (fecha definida menos la fecha de nacimiento en forma YYYYMMDD. Luego filtro por los que tienen mas de 20 años y finalmente lo agrupo por villa.

gracias por la ayuda.