Requete SQL avec Sélection sur un champs DateTime dans SQLSERVER 2008

Résolu
cs_vinok Messages postés 36 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 29 mars 2013 - 10 mars 2009 à 15:24
cs_vinok Messages postés 36 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 29 mars 2013 - 15 mars 2009 à 15:02
Bonjour,

Je voudrais faire une selection sur un champs de type DATETIME.
je souhaite donc faire la requete suivante: select * from matable where date_table='mondatetime'
et je n'obtiens aucun résultat !
J'ai été sur les forums, j'ai lu un tas de soit-disant solutions avec les fonctions CAST,FLOOR,CONVERT et tout,
mais mon SGBD refuse malgré tout de m'afficher les résultats.

Merci pour votre aide

ViNoK

4 réponses

crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
14 mars 2009 à 13:31
Le problème est qu'une donnée en DATETIME est précis au millième de seconde, donc si tu as une valeur
2009-03-09 10:00:00.001 dans date_table, cette ligne ne sera pas affichée.

Ta requète devrait plutot selectionner une plage de date style :

select * from matable where date_table between 'mondatetime' AND DATEADD(seconde;59,'mondatetime')

ainsi tu recherches tous les enregitrement où date_table est compris entre  2009-03-09 10:00:00.000 et 2009-03-09 10:00:59.000
3
crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
12 mars 2009 à 22:20
Quelle est la valeur de 'mondatetime' ?
0
cs_vinok Messages postés 36 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 29 mars 2013
12 mars 2009 à 22:28
2009-03-09 10:00:00.000
0
cs_vinok Messages postés 36 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 29 mars 2013
15 mars 2009 à 15:02
Merci, c'est exactement ce qu'il me fallait
0
Rejoignez-nous