Lo que pasa es que tu condicion nunca se cumple por lo menos para el ejemplo que das
quote:
------------------------------------------------------
escrito por El_Raso
where
((extract(month from a.fechanacimiento) >= :mes) and (extract(month from a.fechanacimiento) <= :mes)
and
(extract(day from a.fechanacimiento) >= :dia2) and (extract(day from a.fechanacimiento) <= :dia))
Si introduzcon un rago de fecha:
Fecha 1 : 01/01/2003
Fecha 2 : 05/07/2003
Un miembro que cumpla el 27/02/2003 no me sale....
-------------------------------------------------------
si sustituyes tus variables por los datos en tu ejemplo
extract(month from a. fechanacimiento) = 2
mes = 01
2 >= 1 y 2 <= 1
y esto no se cumple debido a que 2 no es menor que 1, si lo que tienes aqui es un error de dedo y erra mes2 en la segunda parte tendrias:
2 >= 1 y 2<=7
en este caso si se cumple tu condicion pero en la segunda parte de tu condicion tienes:
extract(day from a. fechanacimiento) = 27
dia = 1
dia2 = 5
27>= 1 y 27 <= 5
con lo cual esta segunda condicion no se cumple y por lo tanto todo tu where no funciona.
supongo que ya que extraes el dia y mes de la fecha de nacimiento debes de crear una fecha temporal agregando a estos datos el año actual y entonces asi poder comparar un rango de fechas
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
|