Обсуждение: Port Bug Report: Error with date_part when checking month

Поиск
Список
Период
Сортировка

Port Bug Report: Error with date_part when checking month

От
Unprivileged user
Дата:
============================================================================
                        POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name        : Monica Kroger
Your email address    : krogerm@rocky.edu

Category        : runtime: back-end: SQL
Severity        : non-critical

Summary: Error with date_part when checking month

System Configuration
--------------------
  Operating System   : RedHat 5.2

  PostgreSQL version : 6.3

  Compiler used      : it came precompiled with RH5.2

Hardware:
---------
Linux localhost.localdomain 2.0.36 #7 Fri Feb 26 21:42:39 MST 1999 i586 unknown
P133, 64 Megs of RAM


Versions of other tools:
------------------------


--------------------------------------------------------------------------

Problem Description:
--------------------
When using the date_part function it seems to be off by a day.
It excludes the first of this month and includes the first of next month in the query.


--------------------------------------------------------------------------

Test Case:
----------
Given a table(ice) with a date(eventstart) in it when I use a select as follows:
select * from ice where date_part('month', "eventstart")='6';
it will return all of the dates in June except if they're on 06-01-1999
It will also return all of the dates on July 1.

--------------------------------------------------------------------------

Solution:
---------


--------------------------------------------------------------------------


Re: [PORTS] Port Bug Report: Error with date_part when checking month

От
"Thomas G. Lockhart"
Дата:
>   PostgreSQL version : 6.3
> Problem Description:
> --------------------
> When using the date_part function it seems to be off by a day.
> It excludes the first of this month and includes the first of next
> month in the query.

postgres=> select date_part('month', '6-1-1999'::datetime);
date_part
---------
        6
(1 row)

It appears to be fixed in more recent versions (though I haven't
confirmed that I can reproduce your symptom on v6.3).

v6.4.2 is the current version, and has significant improvements in all
areas.

                   - Tom