Beim Importieren von CSV-Dateien in MySQL stößt man häufig auf Datumsformate, die vom gewünschten Format abweichen, wie z „31.01.2011“ statt „2011-01-31“. Um dieses Problem zu beheben, bietet MySQL eine Lösung mit der Funktion STR_TO_DATE() während des Datenimportvorgangs an.
Anstatt Konvertierungen in PHP durchzuführen und in eine separate Tabelle einzufügen, bietet die Lösung Durch den Experten werden die Daten während des Imports selbst geändert. Der folgende Code zeigt, wie dies erreicht wird:
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (id, column2, column3, @date_time_variable) -- read one of the field to variable SET date_time_column = STR_TO_DATE(@date_time_variable, '%d-%b-%Y'); -- format this date-time variable
Im obigen Code stellt @date_time_variable eine temporäre Variable dar, die das String-Datum in der CSV-Datei speichert (in diesem Fall „31.01.2011“). . Die Funktion STR_TO_DATE() konvertiert diesen String dann in das gewünschte Format ('2011-01-31'). Das Ergebnis wird der Spalte date_time_column in der Tabelle zugewiesen.
Ausführlichere Informationen zu diesem Ansatz finden Sie in der MySQL-Dokumentation zur LOAD DATA INFILE-Syntax.
Das obige ist der detaillierte Inhalt vonWie importiere ich CSV-Daten mit unterschiedlichen Datumsformaten in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!