| From: | Carlos Bazán <infobaz(at)vtr(dot)net> | 
|---|---|
| To: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Cc: | Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com>, "Eduardo Arenas C(dot)" <edomax(at)gmail(dot)com>, Fernando Siguenza <fsigu(at)hotmail(dot)com> | 
| Subject: | Re: Consulta Fechas y between | 
| Date: | 2011-01-28 16:29:19 | 
| Message-ID: | 201101281329.19408.infobaz@vtr.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
Yo creo que lo que hay que hacer es "castear" el campo a examinar según el 
formato que se requiere.
Creo que debería ser:
SELECT * FROM campanas WHERE fecha_inicio::DATE >= current_date AND 
fecha_fin::DATE < current_date
Saludos
Carlos Bazán
On Vie 28 Ene 2011 13:13:17 Miguel Angel Hernandez Moreno escribió:
> prueba con
> 
> select * from campanas
> where fecha_inicio>=current_date and fecha_fin<current_date+1
> 
> current_date = NOW()::date
> 
> te da el dia de hoy, sin horas  entonces la traduccion seria,
> "selecciona todo de la tabla campara cuando mi fecha de inicio sea
> mayor o igual al dia de hoy a las 0 horas y menor al dia de mañana
> a las 0 horas"
> 
> con eso cumples el diagnostico de la seleccion de 28 de enero sin
> importar la hora que tengan los registros
> 
> El 28 de enero de 2011 06:48, Eduardo Arenas C. <edomax(at)gmail(dot)com> escribió:
> > Fernando, para que tu consulta quede mas dinamica, y siempre que tengas
> > la fecha de tu servidor bien configurada (al dia) puedes ocupar la
> > funcion now() de postgresql que te dará la fecha actual.
> > 
> > select * from campanas where now()::date between fecha_inicio and
> > fecha_fin::date
> > 
> > la probe con una tabla similar que tengo en mis sistemas y funciona.
> > espero te sirva.
> > 
> > saludos
> > edox
> > 
> > 
> > 2011/1/28 Manuel Paillafil <manuel(at)radiohead(dot)cl>
> > 
> > Ninguna de las 2 querys te funcionó?
> > 
> >> El 28 de enero de 2011 02:13, Fernando Siguenza 
<fsigu(at)hotmail(dot)com>escribió:
> >>   Gracias Manuel,pero el campo fecha_inicio y fech_final es de tipo
> >>> 
> >>> timespan.
> >>> Como haria para obtener solo el date de ese campo?
> >>> 
> >>> Saludos
> >>> 
> >>> Fernando
> >>> 
> >>>  *From:* Manuel Diego <manuel(at)radiohead(dot)cl>
> >>> 
> >>> *Sent:* Thursday, January 27, 2011 11:00 PM
> >>> *To:* Fernando Siguenza <fsigu(at)hotmail(dot)com>
> >>> *Cc:* Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
> >>> *Subject:* Re: [pgsql-es-ayuda] Consulta Fechas y between
> >>> 
> >>>  Seguro que el campo fecha de inicio es un campo DATE?
> >>> 
> >>> Prueba con esto
> >>> 
> >>>  select * from campanas
> >>> 
> >>> where fecha_inicio BETWEEN '2011-01-25'::DATE AND '2011-01-25'::DATE
> >>> 
> >>> también con
> >>> 
> >>>  select * from campanas
> >>> 
> >>> where fecha_inicio::DATE BETWEEN '2011-01-25'::DATE AND
> >>> '2011-01-25'::DATE
> >>> 
> >>>  El 28-01-2011, a las 0:51, Fernando Siguenza escribió:
> >>>   Amigos como estan, queria ver si me pueden ayudar tengo una tabla con
> >>> 
> >>> dos columnas de tipo timespan, y tengo insertado esta informacion
> >>> 
> >>>      id fecha_inicio Fecha_final observacion modulo  1 25/01/2011 23:44
> >>>      25/01/2011
> >>> 
> >>> 23:44 xxx C  2 25/01/2011 23:44 25/01/2011 23:44 xxx C  3 26/01/2011
> >>> 0:00 26/01/2011 0:00 para l a semnaa 3 C  4 26/01/2011 0:00 26/01/2011
> >>> 0:00 para l a semnaa 3 C  5 26/01/2011 0:00 26/01/2011 0:00   C  6
> >>> 27/01/2011 0:00 28/01/2011 0:00   C  8 26/01/2011 0:00 26/01/2011 0:00
> >>> vv C
> >>> 
> >>> Ahora lo que quiero es obtener a que registro corresponde el dia
> >>> actual, es decir si hoy es el 27 de enero del 2011, entonces deberia
> >>> obtener el registro numero 6, si fuera el 25 deberia salir el registro
> >>> numero 1 y el 2, para esto hago la siguiente consulta.
> >>> 
> >>> select * from campanas
> >>> where date('2011-01-25')>=fecha_inicio and
> >>> date('2011-01-25')<=fecha_fin
> >>> 
> >>> select * from campanas
> >>> where date('2011-01-25') between fecha_inicio and fecha_fin
> >>> 
> >>> Pero ninguna me da resultados, no se que puede estar mal aqui, de igual
> >>> forma haciendo con timespan
> >>> 
> >>> select * from campanas
> >>> where timestamp '25-01-2011 00:00:00' between fecha_inicio and
> >>> fecha_fin
> >>> 
> >>> No obtengo resultados, lo que quiero es simplemente poder obtener el
> >>> registro al que  corresponde la fecha actual, sin tomar en cuanta las
> >>> horas.
> >>> 
> >>> Como deberia hacer para obtener lo que necesito,
> >>> Gracias por la ayuda
> >>> 
> >>> Fernando
> >>> 
> >>> 
> >>> 
> >>> ------------------------
> >>> *Manuel Diego Paillafil Gamboa*
> >>> manuel(at)radiohead(dot)cl
> >>> Móvil: 06 - 801 60 24
> >> 
> >> --
> >> *Manuel *Diego *Paillafil *Gamboa
> >> manuel(at)radiohead(dot)cl
> >> *Móvil: *
> >> *06 - 801 60 24
> >> Hogar: 02 - 785 84 60*
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mariano Reingart | 2011-01-28 17:51:35 | Re: Centralizar Datos | 
| Previous Message | Miguel Angel Hernandez Moreno | 2011-01-28 16:13:17 | Re: Consulta Fechas y between |