Récuperer la partie DATE d'un champ DATETIME dans un SELECT

Signaler
Messages postés
80
Date d'inscription
vendredi 4 janvier 2002
Statut
Membre
Dernière intervention
22 janvier 2007
-
 galaws1 -
Bonjour
J'espère qu'un d'entre vous peut m'aider. Je fais un select de ma BD(SQL SERVER) et à l'intérieur j'ai un champ DATETIME. Mais quand j'arrive pour comparer mon champ DATETIME avec une date, il trouve rien car il a le TIME aussi à comparer. Alors je me demandais si quelqu'un saurait comment faire pour extraire la partie DATE de mon champ DATETIME dans mon select ???

EX:
select * from projet where prj_dt = '2002/01/01'

Merci
ypothier

2 réponses

Messages postés
2
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
15 octobre 2008

En attendant l'utilisation massive du champ Date (juste la date) de SQL Server 2008, il faut ruser pour récupérer une date sans les heures/minutes depuis un champ DateTime.


2 méthodes s'offrent à nous :


<ol>
<li>
Cast(DATEDIFF(day, 0, monchampDateTime) As DateTime)

</li>
<li>Convert(varchar(20), monchampDateTime, 102) </li>
</ol>
Le premier est plus performant que le second. Le second renvoie un type string.

c'est pas moi ki a trouvé la solution mais j'ai fait une recherche et ca marche tres bien .
cast(r.datecomptableReleve AS date) ya aussi cette possibilité
ici datecomptablereleve est ton champ de type datetime