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