|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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/ |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
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/ |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
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/ |
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
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/ |
|
![]() |
| Outils de la discussion | |
|
|