Re: Comparison of dates

Поиск
Список
Период
Сортировка
От Frank Bax
Тема Re: Comparison of dates
Дата
Msg-id 5.2.1.1.0.20070425085445.00a02ec0@pop6.sympatico.ca
обсуждение исходный текст
Ответ на Comparison of dates  ("Ing. Sergio Lima" <slima@cet-gt.com>)
Список 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


В списке pgsql-novice по дате отправления:

Предыдущее
От: "A. Kretschmer"
Дата:
Сообщение: Re: delete non-unique
Следующее
От: Phillip Smith
Дата:
Сообщение: Re: delete non-unique