Laden von Datumsdaten in MySQL bei Verwendung von LOAD DATA

8

Das Standarddatumsformat einer Datumsspalte ist YYYY-MM-DD HH:MM:SS in MySQL.

Die Datendatei, von der ich versuche, zu laden, hat ein Datumsfeld mit dem Datum in DD-MON-YY HH:MM:SS format. Wenn ich diese Datei mit dem Befehl LOAD DATA lade, wird die Datenbank durcheinander gebracht und alle Dateneinträge werden nur auf 0000-00-00 00:00:00 oder NULL

gesetzt

Hier ist der Test, den ich mit STR_TO_DATE Option gemacht habe und es funktioniert nicht.

Testinfile (test_temp.csv)

%Vor%

Testtabelle (temp_test)

%Vor%

Befehl zum Laden von Daten:

%Vor%

Ausgabe

%Vor%

Ist das Problem mit

?
  1. Eingabedatenspalte (Soll 07-JUN-12 oder 07-Jun-12 sein) oder
  2. Mit meiner Formatzeichenfolge ( %d-%b-%y ) oder
  3. Noch etwas?
smarisetti 20.09.2013, 23:23
quelle

3 Antworten

8

Ihre Format-Zeichenfolge für STR_TO_DATE() ist ungültig. Stunden in Ihren Beispieldaten haben 24-Stunden-Format ( %H oder %k ) anstelle von 12-Stunden ( %h ). Sie können alle möglichen Datumsformatbezeichner hier sehen .

Ändern

%Vor%

bis

%Vor%

Ihre Aussage könnte so aussehen

%Vor%

Nach dem Laden mit Ihren Beispieldaten

%Vor%     
peterm 28.09.2013 18:05
quelle
2

Da ich ein ähnliches Problem hatte, aber das Format für das eingehende Datum anders war, würden Sie Folgendes tun, wenn das Format für eingehende Daten folgendes wäre:

Beispiel für ein Eingabeformat,

%Vor%

Sie müssten ein anderes Datumsformat verwenden,

%Vor%

Hier finden Sie einen Link zur mysql Dokumentation und eine Liste der Datumsformate , aber kurz

Datumsteil,

%Vor%

Wochentag,

%Vor%

Zeit

%Vor%

Es gibt andere Muster, die oben nicht aufgeführt sind.

%Vor%     
ChuckCottrill 16.06.2016 16:23
quelle
0
%Vor%     
rahul mandloi 03.03.2017 06:22
quelle

Tags und Links