Discussion:
Comparar por rango de fechas
William Diaz Pabón
2009-09-29 00:09:56 UTC
Permalink
Buenas noches a todos.

tengo el siguiente sql

select *
from tabla
where tabla.fecha >= '2009-09-25'
and tabla.fecha <= '2009-09-25'


pero cuando la fecha tiene horas minutos y segundos, el sql no funciona.

Como hago para que lo compare sin tener en cuenta las horas minutos y
segundos del campo fecha?
--
Cordialmente.


William Diaz Pabón
Cel: 3168624759 - 3173314172
Bogotá - Colombia
Tutoriales Técnicos:
http://tutorialestecnicos.blogspot.com/
Julio Cesar Rodriguez Dominguez
2009-09-29 00:21:35 UTC
Permalink
El 28 de septiembre de 2009 19:09, William Diaz Pabón
Post by William Diaz Pabón
Buenas noches a todos.
tengo el siguiente sql
select *
from tabla
where tabla.fecha >= '2009-09-25'
and tabla.fecha <= '2009-09-25'
pero cuando la fecha tiene horas minutos y segundos, el sql no funciona.
Como hago para que lo compare sin tener en cuenta las horas minutos y
segundos del campo fecha?
Puedes hacer un cast a date.
William Diaz Pabón
2009-09-29 00:27:49 UTC
Permalink
el tipo de dato del campo fecha es un timestamp, como seria el cast?

El 28 de septiembre de 2009 19:21, Julio Cesar Rodriguez Dominguez <
Post by Julio Cesar Rodriguez Dominguez
Post by William Diaz Pabón
Buenas noches a todos.
tengo el siguiente sql
select *
from tabla
where tabla.fecha >= '2009-09-25'
and tabla.fecha <= '2009-09-25'
pero cuando la fecha tiene horas minutos y segundos, el sql no funciona.
Como hago para que lo compare sin tener en cuenta las horas minutos y
segundos del campo fecha?
Puedes hacer un cast a date.
--
Cordialmente.


William Diaz Pabón
Cel: 3168624759 - 3173314172
Bogotá - Colombia
Tutoriales Técnicos:
http://tutorialestecnicos.blogspot.com/
Julio Cesar Rodriguez Dominguez
2009-09-29 00:33:52 UTC
Permalink
El 28 de septiembre de 2009 19:27, William Diaz Pabón
Post by William Diaz Pabón
el tipo de dato del campo fecha es un timestamp, como seria el cast?
--
fecha::date

pero cual es el error que te presenta al ejectuar el sql sin el cast del
campo?
William Diaz Pabón
2009-09-29 00:38:49 UTC
Permalink
El proelbma es que no me toma los registros del dia 25.

El 28 de septiembre de 2009 19:33, Julio Cesar Rodriguez Dominguez <
Post by Julio Cesar Rodriguez Dominguez
Post by William Diaz Pabón
el tipo de dato del campo fecha es un timestamp, como seria el cast?
--
fecha::date
pero cual es el error que te presenta al ejectuar el sql sin el cast del
campo?
--
Cordialmente.


William Diaz Pabón
Cel: 3168624759 - 3173314172
Bogotá - Colombia
Tutoriales Técnicos:
http://tutorialestecnicos.blogspot.com/
Julio Cesar Rodriguez Dominguez
2009-09-29 00:45:08 UTC
Permalink
El 28 de septiembre de 2009 19:38, William Diaz Pabón
Post by William Diaz Pabón
El proelbma es que no me toma los registros del dia 25.
si pues, el resultado es correcto ya que como bien dices, toma en cuenta el
valor completo del timestam y por lo tanto no coinciden, con el cast a date,
te funciona bien.
Rodrigo Ramirez Norambuena
2009-10-04 02:10:56 UTC
Permalink
El día 28 de septiembre de 2009 20:38, William Diaz Pabón
Post by William Diaz Pabón
El proelbma es que no me toma los registros del dia 25.
Por qué no le agregas los horas:minutos:segundos del inicio y fin del día?

select *
from tabla
where tabla.fecha >= '2009-09-25 00:00:00'
and tabla.fecha <= '2009-09-25 23:59:59'
--
Rodrigo Ramírez Norambuena
http://decipher.blackhole.cl
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podr� leerlo
Javier Bermúdez Tito
2009-09-29 00:53:08 UTC
Permalink
Hola listeros espero les ayude :



SELECT *
FROM tabla
WHERE tabla.fecha BETWEEN CAST ('2009-09-01 19:42:53.412299-05' AS DATE) AND CAST ('2009-09-30 22:42:00.412299-05' AS DATE)



SELECT *
FROM tabla
WHERE tabla.fecha BETWEEN '2009-09-01 19:42:53.412299-05'::DATE AND '2009-09-30 22:42:00.412299-05'::DATE)



de las dos formas como mas te guste funciona igual uuhh el campo tabla.fecha debe ser de tipo DATE para que funcione normal, uhhh a menos que alguien tenga una mejor idea.



.:: J @ v i e r ::.






Date: Mon, 28 Sep 2009 19:38:49 -0500
Subject: Re: [pgsql-es-ayuda] Comparar por rango de fechas
From: widipa-***@public.gmane.org
To: jurasec-***@public.gmane.org
CC: pgsql-es-ayuda-RDL/***@public.gmane.org

El proelbma es que no me toma los registros del dia 25.


El 28 de septiembre de 2009 19:33, Julio Cesar Rodriguez Dominguez <jurasec-***@public.gmane.org> escribió:




El 28 de septiembre de 2009 19:27, William Diaz Pabón <widipa-***@public.gmane.org> escribió:


el tipo de dato del campo fecha es un timestamp, como seria el cast?


--

fecha::date

pero cual es el error que te presenta al ejectuar el sql sin el cast del campo?
--
Cordialmente.


William Diaz Pabón
Cel: 3168624759 - 3173314172
Bogotá - Colombia
Tutoriales Técnicos:
http://tutorialestecnicos.blogspot.com/

_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
Daniel Hernández
2009-09-29 00:34:03 UTC
Permalink
Post by William Diaz Pabón
tengo el siguiente sql
select *
from tabla
where tabla.fecha >= '2009-09-25'
and tabla.fecha <= '2009-09-25'
Me parece que colocaste la fecha inicial igual a la final, en ese caso
sería lo mismo poner un '=' en vez de considerar los dos límites de tu
intervalo.
Post by William Diaz Pabón
pero cuando la fecha tiene horas minutos y segundos, el sql no funciona.
Como hago para que lo compare sin tener en cuenta las horas minutos y
segundos del campo fecha?
Si no quieres preocuparte del tiempo, puedes usar la función date_trunc.

Saludos,
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
Loading...