|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 635 ![]() |
Bonjour,
J'ai un problème et malgré des recherches sur le net je tourne en rond. Je dois comparer deux dates avec celle renvoyée par l'instruction SELECT CURRENT_DATE qui me renvoie la date au format '23/09/2006' mais l'une des deux dates à comparer est au format '23/09/2006 10:23:57' J'essaie donc d'adapter cette date pour ne récuper dans ma requete sql que le jour/mois/année mais je ne trouve pas de fonctions adéquats. Merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 227 ![]() |
bonjour tu peux essayer la fonction date_trunc()
date_trunc('day', timestamp '23/09/2006 10:23:57') donne une precision au jour donc tu pourra la comparer avec la date '23/09/2006' |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Hello,
CURRENT_DATE renvoit un résultat de type 'DATE', alors que '23/09/2006 10:23:57' est de type 'timestamp'. Il faut que tu caste un type vers l'autre. Soit tu utilises CURRENT_TIMESTAMP (équivalent à now() ), soit tu cast '23/09/2006 10:23:57' en DATE (à vérifier, mais '23/09/2006 10:23:57'::date devrait marcher) ++
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 635 ![]() |
Merci !
Effectivement '23/09/2006 10:23:57'::date donne '23/09/2006' merci pour vos réponses... |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 635 ![]() |
mais comment puis-je ne récupérer que le jour et le mois dans la date afin de mettre à jour des ages ?
merci |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Hello,
Pour récupérer le jour, utilises Code :
date_part('day',timestamp '23/09/2006 10:23:57') Code :
extract('day' FROM timestamp '23/09/2006 10:23:57') Pour le détails de toutes les fonctions sur les dates/timestamp regarde cette page : Operations sur les dates ++
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 635 ![]() |
Oui tu vas récupérer le jour mais moi j'ai besoin de comparer le jour et le mois dans deux dates afin de mettre à jour une colonne age. Je dois en fait vérifier la date de leur anniversaire et incrémenter leur age.
|
|
|
00
|
|
|
#8 | |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
la fonction age(timestamp, timestamp) ?
ou pour avoir l'age en année : Citation:
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 635 ![]() |
Oui je suis d'accord mais il faut bien sélectionnner les personnes dont c'est l'anniversaire aujourd'hui. Je ne vais pas faire une mise à jour pour tout le monde donc il ma faut sélectionner les membres dont l'anniversaire est aujourd'hui et cela se fait avec le jour et le mois de leur date de naissance
|
|
|
00
|
|
|
#10 | |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
pas forcément. Si tu veux sélectionner les personnes dont c'est l'anniversaire aujourdh'ui, tu peux utiliser ceci par exemple :
Citation:
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 635 ![]() |
Merci et bravo !
|
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
De rien!
un petit et ce sera parfait
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com