Utilisation de sysdate dans clause where

Résolu/Fermé
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 - 23 mars 2009 à 14:00
Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 - 23 mars 2009 à 14:50
Bonjour,

J'aimerai utilisé sysdate dans une clause where afin de comparer un champs de ma table.


Merci pour votre aide

5 réponses

Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
23 mars 2009 à 14:12
Bonjour,

Alors pour faire une différence de date en sql il faut utiliser la fonction datediff().
Après pour récupérer la date courante c'est pas sysdate mais getDate() il me semble.

Donc pour faire une différence de date dans ta clause where c'est comme ça :
Select * fom la_nom_de_ta_table 
Where datediff(day,ta_varaible_date,getDate()) < 10

Cette requète te retournera tous les résultats qui ont moins de 10 jours.
Si tu veux faire une différence en mois tu met le premier arguments à month si tu veux une différence en année tu le met à years.

Voila, en espérant t'avoir aidé.
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
23 mars 2009 à 14:18
Merci Dinheru,

En fait, je veux que ma requete me retourne les resultats qui ont la même date du jour. C'est à dire, aujourd'hui, je veux que ma requete me retourne les résultats qui sont égaux au lundi 23 mars 2009. J'utilise pl/sql avec comme SGBD Oracle, je crois que pour récupérer la date du jour tu utilises sysdate().

Merci pour ton aide
0
Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
23 mars 2009 à 14:38
Alors si t'es en pl/sql c'est un peu différent ^^

Je suis pas un expert mais essaye ça :
Select * from ta_table where trunc(sysdate - to_date(la_date_de_ta_table, 'dd-mm-yyyy')) = 0
0
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
23 mars 2009 à 14:47
c'est bon j'ai trouvé, pour ta gouverne voici la syntaxe:


SELECT colonne_affiché
FROM nom_de_la_table
WHERE substr(nom_du_champs,1,10) = substr(sysdate,1,10);


Je remonte tous les résultats qui sont daté d'aujourd'hui.


Merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
23 mars 2009 à 14:50
OK donc c'est bien ce que je pensais la synthaxe pl/sql c'est vraiment horrible XD
0