Bonjour,
J'ai un peu du mal.
J'aimerai comparer 2 dates dans ma requête:
ma date = "30/06/2008 06:00:00"
avec la SYSDATE
Mais savoir si elle sont égales sans comparer avec l'heure.
Comment dois-je faire? Merci.
Bonjour,
J'ai un peu du mal.
J'aimerai comparer 2 dates dans ma requête:
ma date = "30/06/2008 06:00:00"
avec la SYSDATE
Mais savoir si elle sont égales sans comparer avec l'heure.
Comment dois-je faire? Merci.
Re,
Je crois avoir trouve la solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AND TO_DATE(myDate, 'dd/mm/yyyy') = TO_DATE(SYSDATE, 'dd/mm/yyyy')
Ou bien (je préfère personnellement car on conserve des dates) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND TRUNC(myDate) = TRUNC(SYSDATE)
TO_DATE(SYSDATE
Jamais de to_date sur une date. Un to_date transforme une chaine de caractère en date, c'est sa seule fonction.
Bien vu, cela m'avait échappé. J'étais persuadé d'avoir vu un TO_CHAR, d'où ma remarque "car on conserve des dates" :p
Effectivement le code auquel je pensais est :
Mais encore une fois je préfère TRUNC
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND TO_CHAR(myDate, 'dd/mm/yyyy') = TO_CHAR(SYSDATE, 'dd/mm/yyyy').
Toxycyty, ton code original est à proscrire car voici ce qui se passe :
- conversion des champs DATE en chaine avec le format de date de la session (fonction des paramètres NLS, non maitrisé)
- conversion des chaines en date avec le format voulu : 'dd/mm/yyyy', mais rien ne garantit que la conversion implicite précédente a utilisé ce format !
HTH
Partager