cs_vinok
Messages postés36Date d'inscriptionjeudi 12 octobre 2006StatutMembreDernière intervention29 mars 2013
-
10 mars 2009 à 15:24
cs_vinok
Messages postés36Date d'inscriptionjeudi 12 octobre 2006StatutMembreDernière intervention29 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.
crn_c21
Messages postés302Date d'inscriptionsamedi 24 janvier 2004StatutMembreDerniè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