2011-11-17 38 views
11

Tôi đang nhập CSV đầu tiên vào MySQL và nhận thấy rằng ngày trong CSV có định dạng 31-Jan-2011. Làm thế nào tôi có thể chuyển đổi nó thành 2011-01-31 để tôi có thể đặt nó trong kiểu dữ liệu DATE? Điều đầu tiên xuất hiện trong đầu là hãy để PHP thực hiện chuyển đổi rồi chèn nó vào một bảng thứ 2 nhưng tôi đoán đó là ... không đúng.Nhập CSV vào MySQL với định dạng ngày khác

+0

Có vẻ như ai đó đã trả lời câu hỏi này tại: http://stackoverflow.com/questions/5616494/how-to-convert-csv-date-format-to-into-mysql-db. Tôi đăng nó trong trường hợp người khác có câu hỏi này. – enchance

Trả lời

31

Bạn có thể thay thế định dạng trong quá trình nhập dữ liệu từ các tập tin CSV, ví dụ -

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 

Nó sẽ định dạng chuỗi như '31 -Jan-2011' để một kiểu dữ liệu DATETIME đúng.

Thông tin thêm tại đây - LOAD DATA INFILE Syntax.

+0

Làm thế nào về [this] (http://dba.stackexchange.com/questions/90498/import-csv-file-into-mysql-with-custom-data-change?noredirect=1#comment162435_90498) vấn đề? Bất kỳ giúp đỡ xin vui lòng? Cảm ơn –

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

Nếu tệp không quá lớn, hãy tải CSV vào Excel và sử dụng các lệnh định dạng ở đó để thay đổi biểu diễn ngày tháng.

+0

Câu trả lời của bạn không thực sự hữu ích với câu hỏi SQL. Hơn nữa, Excel không thực sự là quá dễ dàng để nhúng trong một tiến trình hàng loạt. –

+0

Điều này làm việc cho tôi, chỉ cần thay đổi định dạng ngày trong excel cho cột thành "yyyy-mm-dd", được lưu dưới dạng csv và được nhập. –

Các vấn đề liên quan