2011-11-17 11 views
11

Robię mój pierwszy import CSV do MySQL i zauważyłem, że data w pliku CSV ma format 31-Jan-2011. Jak mogę przekonwertować to na 2011-01-31, aby można było umieścić go w typie danych DATE? Pierwszą rzeczą, która przyszła mi do głowy, to niech PHP zrobi konwersję, a następnie wstaw ją do drugiego stołu, ale domyślam się, że to ... nie jest w porządku.Importowanie pliku CSV do MySQL o innym formacie daty

+0

Wygląda na to, że ktoś już na to odpowiedział: http://stackoverflow.com/questions/5616494/how-to-convert-csv-date-format-to-into-mysql-db. Publikuję go na wypadek, gdyby ktoś inny miał to pytanie. – enchance

Odpowiedz

31

Można zastąpić formatu podczas importowania danych z pliku CSV, na przykład -

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 

To będzie sformatować ciąg jak '31 -Jan-2011' do odpowiedniego typu danych DATETIME.

Więcej informacji tutaj - LOAD DATA INFILE Syntax.

+0

Co powiedzieli na [this] (http://dba.stackexchange.com/questions/90498/import-csv-file-into-mysql-withustom-data-change?noredirect=1#comment162435_90498) problem? Proszę o pomoc? Dzięki –

0
mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d'); 
+------------------------------------------------+ 
| DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d') | 
+------------------------------------------------+ 
| 2009-10-04          | 
+------------------------------------------------+ 
1 row in set (0.00 sec) 
0

Jeśli plik nie jest zbyt duży, załaduj plik CSV do programu Excel i użyj poleceń formatowania w celu zmiany reprezentacji daty.

+0

Twoja odpowiedź nie pomoże na pytanie SQL. Ponadto Excel nie jest zbyt łatwy do osadzenia w procesie wsadowym. –

+0

To działało dla mnie, po prostu zmienił format daty w programie Excel dla kolumny na "rrrr-mm-dd", zapisany jako csv i zaimportowany. –

Powiązane problemy