Reputation: 2386
At csv file, the date field is in such format:
2/9/2010 7:32
3/31/2011 21:20
I am using php + mysql for development.
I need to read it and store into mysql db.
final value to store in mysql should be format as below:
2010-02-09 07:32:00
What's the correct way of it?
Is mysql syntax alone can handle the conversion easily?
Upvotes: 4
Views: 7756
Reputation: 4892
I face the same issue and after little research this is how i resolved it-
LOAD DATA LOCAL INFILE 'D:/dataupload.csv' INTO TABLE table1
FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\r\n' (@d1,col2,col3,col4)
SET col1 = date_format(str_to_date(@d1, **'%m/%d/%Y'**), **'%Y-%m-%d'**)
Details:
Upvotes: 4
Reputation: 22636
I had the same problem (with DATE
) and another solution, is to use the native mysql format YYYYMMDD
ie 20120209
.
I haven't tried with DATETIME
but I guess YYYYMMDDhhmmss
will work.
Upvotes: 0
Reputation: 490527
Use the STR_TO_DATE()
function.
STR_TO_DATE('3/31/2011 21:20', '%c/%e/%Y %H:%i');
Upvotes: 6