Mesfl
Messages postés19Date d'inscriptionlundi 21 février 2005StatutMembreDernière intervention27 mai 2005
-
1 mars 2005 à 09:10
Mesfl
Messages postés19Date d'inscriptionlundi 21 février 2005StatutMembreDernière intervention27 mai 2005
-
1 mars 2005 à 11:36
le champ vacation dans la base de donnée est définie comme varchar(20) et me renvoie bien ce qu'il me faut c'est à dire le numero d'identifiant,
mais le champ Arr_Depot est de type time et me renvoie une date au lieu de l'heure stockée dans la base de donnée.
Quelqu'un peut-il me dire pourquoi cela me retourne une date au lieu de l'heure et me dire si il y a des modifications a faire? si oui où doivent-elles être faites ?
Merci d'avance <!--IBF.ATTACHMENT_76769-->
<!-- THE POST -->
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 1 mars 2005 à 11:25
J'y connais pas grand chose en MySQL, mais ce type de pb se pose dans tous les types de bases de données.
Quand tu fais un SELECT sur un champ de type time, date, smalldatetime (SQLServer) .. au tout autre type de ce genre, le résultat est converti sous forme de chaine de caractères. (ben oui, les dates et heures sont en réalité des champs numériques, et afficher 38410.4718481 pour 01/03/2005 11:20:24 c'est pas très parlant). Le format par défaut de cette chaine de caractères dépend de la configuration de la base et/ou du client.
Pour régler ce problème, le mieux est de convertir explicitement dans ta requête ton champ de type TIME en champ de type STRING.
Après de petites recherches sur MySQL, ça devrait donner :
SELECT VACATION, TIME_FORMAT(Arr_Depot,'%H:%i:%S') AS Arr_Depot FROM MaTable
(Je ne sais pas si le "AS Arr_Depot" est autorisé sous mySQL)
La fonction DATE_FORMAT existe aussi pour des champs de type DATE.
Mesfl
Messages postés19Date d'inscriptionlundi 21 février 2005StatutMembreDernière intervention27 mai 2005 1 mars 2005 à 10:43
Euh en fait c'est l'inverse qui doit se passer le résultat souhaité est une heure, le résultat affiché est une date (en l'occurence la date d'aujourd'hui)