Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2005, 00h39   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
Par défaut ajouter 1 mois à une date dans une requete

Bonjour,

je debute sous postgres et je me demande si il est possible de faire une requete du type :

update table set anciennedate=day(anciennedate)."/".month(now())."/".year(now())

merci de votre réponse.

Cdt
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 09h43   #2
Membre habitué
 
Inscription : mai 2002
Messages : 131
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 131
Points : 142
Points : 142
Pour ajouter un mois, une solution est d'utiliser le type 'interval'

Code :
UPDATE TABLE SET anciennedate=anciennedate + '1 month';
Pour plus d'infos : http://www.postgresql.org/docs/8.0/i...-datetime.html
Quentin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 12h39   #3
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
merci pour votre réponse, voici ce que j'ai fait (pour determiner le nombre de mois à soustraire à anciennedate)

Code :
SELECT date_part('month', age(anciennedate)::interval)
la question maintenant est comment faire une sorte de :

Code :
UPDATE TABLE SET anciennedate=anciennedate+interval(date_part('month', age(anciennedate)::interval)+' month')
pas facile la gestion des dates sous postgres!
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2005, 21h48   #4
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
Help,

je m'acharne et je ne trouve pas comment mettre à jour une date sans changer le jour (juste changer le mois et l'année)

exemple (ne fonctionne pas) :
Code :
1
2
3
UPDATE TABLE SET anciennedate = EXTRACT('year' FROM current_date) || '-' ||
EXTRACT('month' FROM current_date) || '-' ||
EXTRACT('day' FROM anciennedate ) WHERE id=835
ya t'il un expert en date ici ?
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2005, 21h55   #5
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
sorry, j'ai trouvé

Code :
1
2
3
4
 
UPDATE TABLE SET anciennedate = (EXTRACT('year' FROM current_date) || '-' || 
EXTRACT('month' FROM current_date) || '-' || 
EXTRACT('day' FROM anciennedate))::date WHERE id=835
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2005, 10h45   #6
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Citation:
je ne trouve pas comment mettre à jour une date sans changer le jour (juste changer le mois et l'année)
Fait quand meme attention, cette solution n'est pas sure à 100%, imagine que tu te retrouve un 31 janvier et tu fais un update pour avoir 31 fevrier !!!!!
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2005, 12h05   #7
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
exact, pas cool
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h33.


 
 
 
 
Partenaires

Hébergement Web