From: | Frank Bax <fbax(at)sympatico(dot)ca> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Comparison of dates |
Date: | 2007-04-25 13:01:12 |
Message-ID: | 5.2.1.1.0.20070425085445.00a02ec0@pop6.sympatico.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
At 01:33 AM 4/25/07, Ing. Sergio Lima wrote:
>Hi!! I am using postgresql 7.3 and I have a table with one timestamp
>without zone field (date1), I want to select any row when "date1" is
>between inicial_date and final_date values, I'm using an Sql sentence like
>this:
>
>SELECT name, date1, ......
>FROM table_name
>WHERE date1>=inicial_date and date1<=final_date
>
>it works fine if month of field "date1" is the same in "inicial_date" and
>"final_date", but if month value of "date1" is different the result is
>always NULL, any idea??????
Provide an example - works as expected on my 7.3.5 system
fbax=> create table table_name (name text, date1 timestamp);
CREATE TABLE
fbax=> \d table_name
Table "public.table_name"
Column | Type | Modifiers
--------+-----------------------------+-----------
name | text |
date1 | timestamp without time zone |
fbax=> insert into table_name values ('Jan','2007-01-15');
INSERT 18307875 1
fbax=> insert into table_name values ('Feb','2007-02-25');
INSERT 18307876 1
fbax=> insert into table_name values ('Mar','2007-03-23');
INSERT 18307877 1
fbax=> insert into table_name values ('Apr','2007-04-11');
INSERT 18307878 1
fbax=> select name,date1 from table_name where date1>='2007-01-29' and
date1<='2007-04-10';
name | date1
------+---------------------
Feb | 2007-02-25 00:00:00
Mar | 2007-03-23 00:00:00
(2 rows)
fbax=> select name,date1 from table_name where date1 between '2007-02-25'
and '2007-04-11';
name | date1
------+---------------------
Feb | 2007-02-25 00:00:00
Mar | 2007-03-23 00:00:00
Apr | 2007-04-11 00:00:00
(3 rows)
My guess is that perhaps you are not getting rows where date1::date =
final_date in your results. If that is the case, you should try:
SELECT name, date1, ...... FROM table_name
WHERE date1::date >= inicial_date and date1::date <=final_date
From | Date | Subject | |
---|---|---|---|
Next Message | Francois Deliege | 2007-04-25 13:29:59 | moving data from windows to linux |
Previous Message | A. Kretschmer | 2007-04-25 11:26:48 | Re: delete non-unique |