Maison > Article > base de données > Comment convertir les dates AAAAMMJJ en AAAA-MM-JJ pendant LOAD DATA INFILE ?
Importation de dates de AAAAMMJJ à AAAA-MM-JJ à l'aide de LOAD DATA INFILE
Lors de l'importation de données à partir d'un INFILE à l'aide de LOAD DATA INFILE, vous peut rencontrer des dates stockées au format AAAAMMJJ. Cela peut être problématique lorsque vous travaillez avec des bases de données qui nécessitent que les dates soient au format AAAA-MM-JJ.
Solution :
Heureusement, vous pouvez facilement convertir les dates au format souhaité dans l'instruction LOAD DATA INFILE elle-même, éliminant ainsi le besoin de conversions externes à l'aide de scripts. La fonction STR_TO_DATE() est utilisée pour cette conversion.
Par exemple, considérons l'INFILE suivant contenant des dates au format AAAAMMJJ :
AADR,20120403,31.43,31.43,31.4,31.4,1100 AAU,20120403,2.64,2.65,2.56,2.65,85700 AAVX,20120403,162.49,162.49,154.24,156.65,2200
Pour importer ces données et convertir les dates en AAAA -MM-DD en une seule étape, utilisez l'instruction LOAD DATA INFILE suivante :
LOAD DATA INFILE 'file.txt' INTO TABLE t1 FIELDS TERMINATED BY ',' (column1, @var1, column3, ...) SET column2 = STR_TO_DATE(@var1,'%Y%m%d')
Dans ce instruction :
Après avoir exécuté cette instruction, les dates dans la table t1 sera au format AAAA-MM-JJ, ce qui les rendra compatibles avec les exigences de la base de données et les opérations ultérieures.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!