PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > php / champ mysql
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
php / champ mysql

Réponse
 
LinkBack Outils de la discussion
Vieux 29/09/2007, 15h31   #1
Anthony
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut php / champ mysql

bon, je suis légèrement HS mais je bosse sur un script php pour
rapatrier des infos en provenance d'une base de données où je n'ai pas
la main ( export csv ) et me retrouve avec un champ dont j'ignore le type.

j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.

Exemple : 2007-09-14 13:38:45.957718

Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
mais je n'arrive pas a trouver ce a quoi ça correspond...

quelqu'un a une idée ?

merci,

Anthony
  Réponse avec citation
Vieux 29/09/2007, 22h13   #2
P'tit Marcel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :
> j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
> Exemple : 2007-09-14 13:38:45.957718
> Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
> mais je n'arrive pas a trouver ce a quoi ça correspond...


c'est visiblement un expression de date et d'heure incluant des
microsecondes. Si le champ MySQL est défini comme datetime, la partie
décimale des secondes sera perdue ("microseconds cannot be stored into a
column of any temporal data type").

Pour le stocker dans MySQL en employant php, je ne vois pas de
difficulté particulière. Je crois qu'un simple :

$champ = '2007-09-14 13:38:45.957718';
mysql_query(
"update latable set ladate ='$champ' where lacle = '$cle'")
or die('pb');

devrait marcher.
sinon, tu peux supprimer la partie décimale par un
$pos = strpos($champ, '.');
if($pos) $champ = substr($champ, 0, $pos);


eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
  Réponse avec citation
Vieux 29/09/2007, 22h13   #3
Mickael Wolff
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :

> j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
>
> Exemple : 2007-09-14 13:38:45.957718


En quoi est-il plus complexe ? Parce qu'il indique des microsecondes ?
Du moins, c'est ce qui me vient logiquement à l'esprit.


> Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
> mais je n'arrive pas a trouver ce a quoi ça correspond...


Datetime ?


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
  Réponse avec citation
Vieux 29/09/2007, 22h13   #4
Y a personne
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :
> bon, je suis légèrement HS mais je bosse sur un script php pour
> rapatrier des infos en provenance d'une base de données où je n'ai pas
> la main ( export csv ) et me retrouve avec un champ dont j'ignore le type.
>
> j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
>
> Exemple : 2007-09-14 13:38:45.957718
>
> Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
> mais je n'arrive pas a trouver ce a quoi ça correspond...
>
> quelqu'un a une idée ?
>
> merci,
>
> Anthony


Se sont des microsecondes :

http://dev.mysql.com/doc/refman/4.1/en/datetime.html
  Réponse avec citation
Vieux 29/09/2007, 22h13   #5
P'tit Marcel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :
> j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
> Exemple : 2007-09-14 13:38:45.957718
> Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
> mais je n'arrive pas a trouver ce a quoi ça correspond...


c'est visiblement un expression de date et d'heure incluant des
microsecondes. Si le champ MySQL est défini comme datetime, la partie
décimale des secondes sera perdue ("microseconds cannot be stored into a
column of any temporal data type").

Pour le stocker dans MySQL en employant php, je ne vois pas de
difficulté particulière. Je crois qu'un simple :

$champ = '2007-09-14 13:38:45.957718';
mysql_query(
"update latable set ladate ='$champ' where lacle = '$cle'")
or die('pb');

devrait marcher.
sinon, tu peux supprimer la partie décimale par un
$pos = strpos($champ, '.');
if($pos) $champ = substr($champ, 0, $pos);


eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
  Réponse avec citation
Vieux 29/09/2007, 22h13   #6
Mickael Wolff
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :

> j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
>
> Exemple : 2007-09-14 13:38:45.957718


En quoi est-il plus complexe ? Parce qu'il indique des microsecondes ?
Du moins, c'est ce qui me vient logiquement à l'esprit.


> Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
> mais je n'arrive pas a trouver ce a quoi ça correspond...


Datetime ?


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
  Réponse avec citation
Vieux 29/09/2007, 22h13   #7
Y a personne
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :
> bon, je suis légèrement HS mais je bosse sur un script php pour
> rapatrier des infos en provenance d'une base de données où je n'ai pas
> la main ( export csv ) et me retrouve avec un champ dont j'ignore le type.
>
> j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
>
> Exemple : 2007-09-14 13:38:45.957718
>
> Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
> mais je n'arrive pas a trouver ce a quoi ça correspond...
>
> quelqu'un a une idée ?
>
> merci,
>
> Anthony


Se sont des microsecondes :

http://dev.mysql.com/doc/refman/4.1/en/datetime.html
  Réponse avec citation
Vieux 01/10/2007, 07h37   #8
Anthony
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

P'tit Marcel a écrit :
>
> c'est visiblement un expression de date et d'heure incluant des
> microsecondes. Si le champ MySQL est défini comme datetime, la partie
> décimale des secondes sera perdue ("microseconds cannot be stored into a
> column of any temporal data type").
>



en fait je me doutais bien qu'il s'agissait de micros secondes.
donc si j'ai bien compris... je ne peux récupérer ces micro secondes
lors d'une ré-importation.

et là un truc m'échappe : pourquoi conserver une partie d'un champ qu'on
ne peut ré-exploiter ( par exemple récupérer dans une autre base ) ?

merci,

anthony
  Réponse avec citation
Vieux 01/10/2007, 07h37   #9
Anthony
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

P'tit Marcel a écrit :
>
> c'est visiblement un expression de date et d'heure incluant des
> microsecondes. Si le champ MySQL est défini comme datetime, la partie
> décimale des secondes sera perdue ("microseconds cannot be stored into a
> column of any temporal data type").
>



en fait je me doutais bien qu'il s'agissait de micros secondes.
donc si j'ai bien compris... je ne peux récupérer ces micro secondes
lors d'une ré-importation.

et là un truc m'échappe : pourquoi conserver une partie d'un champ qu'on
ne peut ré-exploiter ( par exemple récupérer dans une autre base ) ?

merci,

anthony
  Réponse avec citation
Vieux 01/10/2007, 11h49   #10
P'tit Marcel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :
> P'tit Marcel a écrit :
>> c'est visiblement un expression de date et d'heure incluant des
>> microsecondes. Si le champ MySQL est défini comme datetime, la partie
>> décimale des secondes sera perdue ("microseconds cannot be stored into a
>> column of any temporal data type").
>>

> en fait je me doutais bien qu'il s'agissait de micros secondes.
> donc si j'ai bien compris... je ne peux récupérer ces micro secondes
> lors d'une ré-importation.
>
> et là un truc m'échappe : pourquoi conserver une partie d'un champ qu'on
> ne peut ré-exploiter ( par exemple récupérer dans une autre base ) ?


Réponse basique: on peut toujours stocker une date avec microsecondes
dans un champ varchar :-)

Sinon, je suppose que mysql prévoit à terme de gérer les microsecondes,
mais qu'actuellement cela n'est pas fait parce que le moteur de calcul
n'est pas compatible (fonctions mysql ne pouvant pas prendre en compte
les microsecondes, aléa des microsecondes que l'on trouverait dans un
timestamp automatique, etc.)

Tout cela n'étant plus vraiment en rapport avec le langage php, je
*téléporte* vers le forum kivabien: fr.comp.applications.sgbd


a+
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
  Réponse avec citation
Vieux 01/10/2007, 11h49   #11
P'tit Marcel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: php / champ mysql

Anthony a écrit :
> P'tit Marcel a écrit :
>> c'est visiblement un expression de date et d'heure incluant des
>> microsecondes. Si le champ MySQL est défini comme datetime, la partie
>> décimale des secondes sera perdue ("microseconds cannot be stored into a
>> column of any temporal data type").
>>

> en fait je me doutais bien qu'il s'agissait de micros secondes.
> donc si j'ai bien compris... je ne peux récupérer ces micro secondes
> lors d'une ré-importation.
>
> et là un truc m'échappe : pourquoi conserver une partie d'un champ qu'on
> ne peut ré-exploiter ( par exemple récupérer dans une autre base ) ?


Réponse basique: on peut toujours stocker une date avec microsecondes
dans un champ varchar :-)

Sinon, je suppose que mysql prévoit à terme de gérer les microsecondes,
mais qu'actuellement cela n'est pas fait parce que le moteur de calcul
n'est pas compatible (fonctions mysql ne pouvant pas prendre en compte
les microsecondes, aléa des microsecondes que l'on trouverait dans un
timestamp automatique, etc.)

Tout cela n'étant plus vraiment en rapport avec le langage php, je
*téléporte* vers le forum kivabien: fr.comp.applications.sgbd


a+
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 17h40.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,19791 seconds with 19 queries