RE: [pgsql-fr-generale] Problèmes de date

From: "Damien Griessinger" <dgriessinger(at)free(dot)fr>
To: 'Stéphane Dupuy' <sdupuy(at)hducros(dot)fr>
Cc: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: RE: [pgsql-fr-generale] Problèmes de date
Date: 2004-12-31 08:10:18
Message-ID: E1CkHra-0006Rp-Fl@caine.easynet.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Je ne sais pas si ça te conviendra, mais essaye cette requête (à adapter en
requête update)

SELECT '2004-12-31'::timestamp - '3 month'::interval
-- ça renvoi bien 2004-09-30
-- si tu change à 2 month ==> 2004-10-31 (oui les 30/31 sont bien pris en
compte)

-----Message d'origine-----
De : pgsql-fr-generale-owner(at)postgresql(dot)org
[mailto:pgsql-fr-generale-owner(at)postgresql(dot)org] De la part de Stéphane Dupuy
Envoyé : vendredi 31 décembre 2004 08:50
À : pgsql-fr-generale(at)postgresql(dot)org
Objet : [pgsql-fr-generale] Problèmes de date

Bonjour à tous !
J'ai souvent un problème de manipulation de dates dans PostgreSQL :
Par exemple, j'ai un programme qui recherche, tous les jours, les remises
d'un
client sur les 3 derniers mois. Pour cela, il se base sur la date du jour,
soustrait 3 mois (en vérifiant l'éventuel changement d'année) et lance une
requête toute simple du type :
SELECT * FROM machin WHERE date_remise > 'aaaa-mm-jj';
où aaaa-mm-jj est la date calculée ci-dessus.
Mais voilà, l'exmple typique où ça ne marche pas : le 31/12/2004
(aujourd'hui
pour ceux qui sont pas encore bien réveillés) qui, trois mois plus tôt,
donne
le 31/09/2004 ! Or, dans la vraie vie, le 31/09/2004 ça n'existe pas !!!
=> ERROR: Bad date external representation '2004-09-31'

N'y a-t-il pas une fonction interne PostgreSQL permettant de gérer
facilement
ce genre de contrainte pour tester des dates ? Ou un paramétrage du serveur
sur les tests de validité de date ?

Merci à tous pour votre aide et passez de bonnes fêtes !

--
Stéphane Dupuy (sdupuy(at)hducros(dot)fr)
Service Informatique

Transports H.Ducros
Parc Masterclub
Rue du Prof. Dangeard
33300 Bordeaux

Tél : 05 57 10 60 60
Fax : 05 57 10 60 61

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Stéphane Dupuy 2004-12-31 08:15:27 Re: Problèmes de date
Previous Message Hervé Piedvache 2004-12-31 08:07:16 Re: Problèmes de date