From: | Stéphane Bunel <stephane+pgfr(at)bpf(dot)st> |
---|---|
To: | Jean-Paul Argudo <jean-paul(at)postgresqlfr(dot)org> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Question de dates |
Date: | 2008-07-15 07:20:44 |
Message-ID: | 487C4FCC.2040900@bpf.st |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Jean-Paul Argudo wrote:
> Bonjour Stéphane,
>
>> La gestion des dates est une source de cas d'école. En regardant le
>> résultat d'une requête j'ai été quelque peu surpris par le résultat d'un
>> tri sur intervalle de temps. (PG 8.3.3)
>
> Je n'arrive pas à reproduire votre problème:
En effet, pour cela il faut utiliser la date d'hier sans quoi l'ordre
est bon ce matin ?!
=# select now();
now
-------------------------------
2008-07-15 09:09:55.420534+02
(1 row)
=# SELECT id, utc, age( '2008-07-14', utc ) AS a FROM test ORDER BY a ;
id | utc | a
----+---------------------+------------------------
1 | 2008-05-16 08:06:04 | 1 mon 28 days 15:53:56
3 | 2008-05-13 20:06:16 | 2 mons 03:53:44
2 | 2008-05-14 20:05:26 | 1 mon 30 days 03:54:34
(3 rows)
> $ psql -V
> psql (PostgreSQL) 8.3.3
> contient une gestion avancée de la ligne de commande
$ psql -V
psql (PostgreSQL) 8.3.3
contains support for command-line editing
> jpargudo=# show server_version;
> server_version
> ----------------
> 8.3.3
> (1 ligne)
=# SHOW server_version ;
server_version
----------------
8.3.3
(1 row)
(...)
> Pouvez-vous vérifier:
>
> * la version de psql (psql -V) en plus de votre version serveur, et nous
> préciser votre OS (windows? linux? distro??..)
OS: Ubuntu 8.04
>
> * la méthode d'installation de votre PostgreSQL
apt-get install ...
> * les valeurs lc_* comme suit:
>
> jpargudo=# select name, setting from pg_settings where name ~ '^lc';
> name | setting
> -------------+------------
> lc_collate | fr_FR(at)euro
> lc_ctype | fr_FR(at)euro
> lc_messages | fr_FR(at)euro
> lc_monetary | fr_FR(at)euro
> lc_numeric | fr_FR(at)euro
> lc_time | fr_FR(at)euro
> (6 lignes)
=# select name, setting from pg_settings where name ~ '^lc';
name | setting
-------------+-------------
lc_collate | en_US.utf-8
lc_ctype | en_US.utf-8
lc_messages | en_US.utf-8
lc_monetary | en_US.utf-8
lc_numeric | en_US.utf-8
lc_time | en_US.utf-8
(6 rows)
> * si vous ne voyez toujours rien de particulier, pouvez vous ajouter
> dans vos deux select (order by utc et order by a), la colonne suivante:
>
> select [...] extract(epoch from age( utc )) AS epoch
>
> Et re-poster le résultat?
tri sur _a_:
edonkey=# SELECT id, utc, age( '2008-07-14', utc ) AS a, extract(epoch
from age( utc )) AS epoch FROM test ORDER BY a ;
id | utc | a | epoch
----+---------------------+------------------------+---------
1 | 2008-05-16 08:06:04 | 1 mon 28 days 15:53:56 | 5154836
3 | 2008-05-13 20:06:16 | 2 mons 03:53:44 | 5284424
2 | 2008-05-14 20:05:26 | 1 mon 30 days 03:54:34 | 5198074
(3 rows)
Je n'osais penser à BUG en postant, mais ça y ressemble de plus en plus...
tri sur _utc_:
=# SELECT id, utc, age( '2008-07-14', utc ) AS a, extract(epoch from
age( utc )) AS epoch FROM test ORDER BY utc ;
id | utc | a | epoch
----+---------------------+------------------------+---------
3 | 2008-05-13 20:06:16 | 2 mons 03:53:44 | 5284424
2 | 2008-05-14 20:05:26 | 1 mon 30 days 03:54:34 | 5198074
1 | 2008-05-16 08:06:04 | 1 mon 28 days 15:53:56 | 5154836
(3 rows)
Merci,
Stéphane.
From | Date | Subject | |
---|---|---|---|
Next Message | Jean-Paul Argudo | 2008-07-15 08:45:14 | Re: Question de dates |
Previous Message | Jean-Paul Argudo | 2008-07-15 06:53:27 | Re: Question de dates |