J'essaie d'importer un fichier CSV dans une base de données mysql.Modifier le champ CSV lors de l'importation vers mysql
Le fichier CSV contient (entre autres) les dates dans le format suivant:
"2010-04-31 17:43:12"
Ma première approche a consisté à utiliser le script .sql suivant:
USE test;
LOAD DATA INFILE '/tmp/test.cvs'
replace INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(...,mydate,...);
qui ne fonctionne pas parce que les guillemets doubles font le champ "2010-04-31 17:43:12" une chaîne. Alors je me suis dit que je peux sur le convertir au format DATETIME en utilisant
select STR_TO_DATE("2010-04-31 17:43:12",'(%Y-%c-%e %H:%i:%S)') AS NewDateTime
Cette requête fonctionne très bien sur son propre, mais je me demandais s'il y a un moyen de convertir la chaîne à la volée lors de l'importation. Quelque chose parmi les suivantes:
...
LINES TERMINATED BY '\n'
(...,STR_TO_DATE(mydate,'(%Y-%c-%e %H:%i:%S)') AS NewDateTime,...);
whoops, désolé à ce sujet. – kirbuchi