Date : savoir si une date est passée [Résolu]

Signaler
-
 Utilisateur anonyme -
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Non c'est un exemple

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

Bon courage
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++
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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
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++
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
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 ?