Re: Format de date

From: François Figarola <francois(dot)figarola(at)i-consult(dot)fr>
To: Yann PICHOT <ypichot(at)gmail(dot)com>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Format de date
Date: 2010-02-16 09:16:28
Message-ID: 4B7A626C.7070501@i-consult.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Yann PICHOT a écrit :
> Bonjour,
Bonjour,
>
> Il semblerai qu'il y ait eu une modification dans les formats de date
> pris en compte dans les requête SQL entre la version 8.3 et la 8.4.
> En 8.3.x les 2 requêtes SQL suivantes passent sans problème :
> select * from matable where madate >= '2010-01-31'
> select * from matable where madate >= '31/01/2010'
Je viens de me livrer à quelques tests avec des PG 8.3 et 8.4
(sous debian) et les deux versions me semblent cohérentes :

Sur chacune des connexions, un SHOW datestyle; me retourne

DateStyle
-----------
ISO, DMY
(1 ligne)

La configuration des serveur permet donc de saisir les dates
soit au format ISO 'YYYY-MM-DD', soit au format européen
'DD-MM-YYYY', ce qui effectivement retourne une erreur si
je saisis une date au format américain (MDY) :

SELECT '10-25-2009'::date;
ERREUR: valeur du champ date/time en dehors des limites : « 10-25-2009 »

alors que SELECT '25-10-2009'::date; SELECT '25/10/2009'::date; ou
SELECT '2009-10-25'::date; me retourne normalement un

date
------------
2009-10-25
(1 ligne)

de bon aloi...

>
> En 8.4 seule la première requête passe sans erreur, l'autre déclenche
> l'erreur : ERROR: date/time field value out of range: "31/01/2010".
Ainsi si votre datestyle est configuré avec 'iso, mdy', il me semble
tout à fait normal que PostgreSQL retourne cette erreur.
>
> Dans les 2 cas j'utilise PGAdminIII v1.10.1 (Windows) sur un
> PostgreSQL 8.3.4 (Linux) et un PostgreSQL 8.4.2 (Windows). Problème
> constaté aussi sur un PostgreSQL 8.4.2 Linux.
> Les paramètres datestyle du postgres.conf sont dans les 2 cas à 'iso,
> mdy'.
Pouvez-vous faire un 'SHOW datestyle' sur chacun des serveurs,
histoire d'en avoir le coeur net ?

A mon sens, utiliser le format ISO reste quand même la meilleure
idée possible pour manipuler des dates...
>
> Je n'ai pas trouvé dans les releases notes des version 8.4, 8.4.1 et
> 8.4.2 d'information au sujet d'un changement autour du format de date.
Il ne me semble également pas avoir vu de release note concernant
le formattage des dates, pas plus que de modification de la page
de doc. concernant la saisie des dates :
http://www.postgresql.org/docs/8.4/static/datetime-input-rules.html
>
> Si quelqu'un à une idée, je l'en remercie d'avance.
Pareil :-))
>
> Cordialement,
> --
> Yann
Cordialement.

--
François Figarola
-- développeur --
=================
INTERNET CONSULT
Mas Guerido
6 rue Aristide Bergès
66330 CABESTANY

Tel 04.68.66.09.29
fax 04.68.66.99.50
* francois(dot)figarola(at)i-consult(dot)fr

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Dimitri Fontaine 2010-02-16 09:47:15 Re: Format de date
Previous Message Yann PICHOT 2010-02-16 08:17:27 Format de date