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
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 |