Champions du SQL a vos claviers.... d'avance merci !

Champions du SQL a vos claviers.... d'avance merci ! - Programmation

Marsh Posté le 22-06-2002 à 20:01:31    

Salut,
 
Dans une table contenant mes MP3 il y a un petit problème... la durée (dans le champs duree) est par exemple pour une chanson de 3 minutes 25 est écrite de la manière suivante: 03:25:00    soit 03 heures 25 minutes et 00 secondes; il y a donc un problème... et comme aprés je vais etre obligé de calculer des durées totales a partir de ces champs il me faudrait donc arriver à les modifier... je voudrais donc avoir pour cet exemple 03:25 , soit un format mm:ss et non hh:mm:ss. est-ce possible avec une requete SQL ? je connais SQl mais pas suffisament pour modifier des données... je serais donc trés reconnaissant si qq un pouvais m'ecrire cette requete :jap::jap:


Message édité par Webman le 22-06-2002 à 20:01:42
Reply

Marsh Posté le 22-06-2002 à 20:01:31   

Reply

Marsh Posté le 22-06-2002 à 20:16:08    

tu veux juste conserver les 6 premiers caractères ?

Reply

Marsh Posté le 22-06-2002 à 20:20:43    

Webman a écrit a écrit :

Salut,
 
Dans une table contenant mes MP3 il y a un petit problème... la durée (dans le champs duree) est par exemple pour une chanson de 3 minutes 25 est écrite de la manière suivante: 03:25:00    soit 03 heures 25 minutes et 00 secondes; il y a donc un problème... et comme aprés je vais etre obligé de calculer des durées totales a partir de ces champs il me faudrait donc arriver à les modifier... je voudrais donc avoir pour cet exemple 03:25 , soit un format mm:ss et non hh:mm:ss. est-ce possible avec une requete SQL ? je connais SQl mais pas suffisament pour modifier des données... je serais donc trés reconnaissant si qq un pouvais m'ecrire cette requete :jap::jap:  




 
Je pense pas que tu puisse faire ça directement en SQL, tu sera obligé de le traiter dans le prog qui appelle cette requète.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 22-06-2002 à 20:29:52    

Et en quoi est-ce que ca te gène pour faire tes calculs? il te suffit d'ignorer le champs seconde dans l'affichage de ton résultat.

Reply

Marsh Posté le 22-06-2002 à 20:36:04    

Je ne vois pas où est le pb... Tu fais comme si c'était une chaîne de caractères (en PHP) :

Code :
  1. $result = mysql_query("SELECT duree FROM matable WHERE id=1" );
  2. $res = mysql_fetch_object($result);
  3. $duree = substr($res->duree, 0, 5);


Et voilà y'a plus que mm:ss.

Reply

Marsh Posté le 22-06-2002 à 20:42:11    

Said a écrit a écrit :

tu veux juste conserver les 6 premiers caractères ?  




 
Je veux garder les 5 premier :)
:hello:


Message édité par Webman le 22-06-2002 à 20:44:18
Reply

Marsh Posté le 22-06-2002 à 20:43:53    

gizmo a écrit a écrit :

Et en quoi est-ce que ca te gène pour faire tes calculs? il te suffit d'ignorer le champs seconde dans l'affichage de ton résultat.  




 
Comment faire ? car mon champs durée est 03:25:00, donc si je veux avoir seulement 03:25 il faut en queleque sorte que je découpe la chaine...


Message édité par Webman le 22-06-2002 à 20:44:30
Reply

Marsh Posté le 22-06-2002 à 20:50:33    

ou sinon tu stocke la durée en seconde et après tu converti en hh:mm:ss ou en mm:ss je vois pas où est le prob.
 


$duree = 210;
$heures = floor( $duree / 3600 );
$minutes = floor($duree / 60) - ($heure*60);
$secondes = $duree % 60;
$duree_formatte = $heures.':'.$minutes.':'.$secondes;

Reply

Marsh Posté le 22-06-2002 à 20:59:11    

Webman a écrit a écrit :

 
 
Comment faire ? car mon champs durée est 03:25:00, donc si je veux avoir seulement 03:25 il faut en queleque sorte que je découpe la chaine...  




 
Ben tu fais ton addition de manière classique, les secondes étant considérée comme des centièmes, les minutes comme des secondes et les heurs comme des minutes. Comme les centièmes sont toujours nuls, t'auras aucun problème.

Reply

Marsh Posté le 22-06-2002 à 23:11:50    

Merci a tous pour vos réponses ! :jap: Sinon je vais exploiter les qqs pistes que vous m'avez donné ! merci :jap:
 
:hello:
 
PS: Je voulais vous preciser que je travaille sous Access 2000, donc le MySQL, PHP et compagnie ca marche pas... mais j'ai pas eu le temps de vous le dire car le forum était down...donc désolé de le préciser juste maintenant :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed