Date : savoir si une date est passée

Résolu
Utilisateur anonyme - Modifié le 25 nov. 2007 à 19:31
 Utilisateur anonyme - 25 nov. 2007 à 19:31
Bonsoir,

J'ai une base de donnée sql server avec un champs date et un repeater.
Comment faire pour que mon repeater asp.net n'affiche pas les événements quand la date est déjà passée ?
Ca se passe dans la requete SQL ou dans mon code ASP.net ?

Merci

A++

7 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
25 nov. 2007 à 16:54
Pour modifier ta requete,
Il faut faire
cast(convert(varchar(100), mydatecol, 101) as datetime) AS mydatecol
ou
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

Ensuite il faut voir avec les format en france c'est 113 ou 13 à la place de 101
As toi de trouver la plus performante des methodes

Bon courage
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
25 nov. 2007 à 19:01
Non c'est un exemple

select * from matable where DATEADD(dd, DATEDIFF(dd,0,getdate()), 0) >= macolonnedate

Bon courage
3
Nickel !
Un grand merci
Pour ceux qui ont le même soucis, je vous conseille vivement cette méthode ci DATEADD(dd, DATEDIFF(dd,0,getdate()), 0) car ca me parait beaucoup plus simple que l'autre.

A++
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
25 nov. 2007 à 15:56
Salut

Dans la requete SQL, c'est surement le plus simple et le plus performant
car moins d'enregistrements seront remonté par la requête.

Date du jour = getdate()

where champdate <= getdate()
devrait fonctionner 
il y a peut etre une convertion SQL à faire.

Bon courage
0

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

Posez votre question
Hello, c'est nickel mais j'ai juste un soucis c'est que je veux faire que seul les événement du jour ou a venir soient visibles.

J'ai donc fait where champdate >= getdate()
Il affiche bien les événements futures mais les éléments du jour même ne sont pas affichés.

Dans mon champ "Date" dans ma table SQL j'ai : 25/11/2007 0:00:00
et avec Date >= getdate() il ne l'affiche :-( Si je met 26/11/2007 0:00:00 la ca fonctionne bien par contre...

Pourquoi n'affiche-t-il pas les événement du jour même ? :s

Merci.

A++
0
Ok, j'ai compris le problème est donc bien l'heure qui est à 0:00:00 hors il est 16h30...

Question plus orientée sql alors, que dois-je modifier dans ma BDD SQL pour que le datetime n'affiche pas les heures:minutes:secondes ?

Merci encore
0
J'ai pas suivit la, je doit faire SELECT Date(dd, DATEDIFF(dd,0,getdate()), 0) WHERE Date >= getdate() ?

Le DATEADD c'est mon champs Date ?
0
Rejoignez-nous