Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Próximos cumpleaños!

Estas en el tema de Próximos cumpleaños! en el foro de PostgreSQL en Foros del Web. Buenas! Quiero hacer una consulta en PostgreSQL para saber los que están por cumplir 21 años en los próximos 30 días (un mes). El campo ...
  #1 (permalink)  
Antiguo 05/04/2011, 19:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 6
Pregunta Próximos cumpleaños!

Buenas! Quiero hacer una consulta en PostgreSQL para saber los que están por cumplir 21 años en los próximos 30 días (un mes).
El campo es un: timestamp without time zone
Estilo: yyyy-mm-dd

Cualquier idea será bienvenida

Desde ya, muchas gracias!
  #2 (permalink)  
Antiguo 05/04/2011, 20:12
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Próximos cumpleaños!

Hola.

Te da algún error la consulta? muestra algo de código a ver cómo te ayudamos
__________________
Gracias de todas todas
-----
Linux!
  #3 (permalink)  
Antiguo 06/04/2011, 12:12
 
Fecha de Ingreso: marzo-2011
Ubicación: Bogotá
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Próximos cumpleaños!

Realice el siguiente ejercicio:

CREATE TABLE cumpleanos (
nombre character varying(2),
fecha timestamp without time zone
);

INSERT INTO cumpleanos VALUES ('a', '1991-04-01 00:00:00');
INSERT INTO cumpleanos VALUES ('c', '1991-04-08 00:00:00');
INSERT INTO cumpleanos VALUES ('d', '1991-04-15 00:00:00');
INSERT INTO cumpleanos VALUES ('e', '1991-05-15 00:00:00');
INSERT INTO cumpleanos VALUES ('b', '1980-04-01 00:00:00');

Deseo saber cuales cumplen 20 anos en los proximos 30 dias

SELECT * FROM cumpleanos WHERE fecha BETWEEN now() - interval '20 year' AND now() - interval '20 year' + interval '30 days';

por lo tanto para cualquier edad solo es cambiar 20 por la edad objetivo.
  #4 (permalink)  
Antiguo 08/04/2011, 15:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Próximos cumpleaños!

Muchas gracias cacr y hivs77!!! Seguramente la opción de hivs77 funciona :)

Igualmente, ya lo pude solucionar! Dejo la solución para los que la necesiten:

Código PHP:
$anio date ('Y') - 21;
$mes date ('m');
$dia date ('d');
$date $anio.'-'.$mes.'-'.$dia;
$newdate strtotime '+3 month' strtotime $date ) ) ;
$newdate date 'Y-m-d' $newdate );

$sql "SELECT *
from tabla
where fecha_nacimiento > '$date' and fecha_nacimiento < '$newdate'
order by fecha_nacimiento ASC"

Gracias igual por sus prontas respuestas, un abrazo!
  #5 (permalink)  
Antiguo 11/04/2011, 09:36
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Próximos cumpleaños!

revisa función age() de postgresql
__________________
Gracias de todas todas
-----
Linux!

Etiquetas: cumpleaños
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:51.