2013-03-22 89 views
1
導入後

我有一個大CSVfile包含由時間格式41354這是保存在它的日期21/03/2013MySQL的日期顯示:00:00從CSV

它顯示了優良的MS但只是因爲你可以格式化它的日期YYYY-mm-dd

然而,一旦上傳到數據庫它顯示的日期像0000:00:00,它會得到轉換爲正常的只有當按在phpymyadmin上的每個單元格上

試圖使用加載文件

SET date = STR_TO_DATE(@date_conv, '%Y/%m/%d') 

也嘗試了多種解決方案,但沒有任何幫助。

編輯

表如下

CREATE TABLE table1 (
    date date DEFAULT NULL 
); 

,並創建一個新的文件1.csv並在A1單元格41354以上的MS Excel,格式化到目前爲止,你會得到21/03/2013

現在把它上傳到你的數據庫,以發現日期爲0000:00:00

什麼建議嗎?

回答

1

您需要爲此值創建一個新的日期:加上天(41354)到'1900-01-01'。

例如(編輯) -

文件FILE.CSV:

41354 

表:

CREATE TABLE table1 (
    date date DEFAULT NULL 
); 

查詢:

LOAD DATA INFILE 'file.csv' INTO TABLE table1(@var) 
    SET date = DATE('1900-01-01') + INTERVAL @var DAY; 

ö輸出:

SELECT * FROM table1;

+------------+ 
| date  | 
+------------+ 
| 2013-03-23 | 
+------------+ 
+0

這是要返回只有當天的價值,但月和年保持不變?換句話說,我越來越1900-01-22而不是正確的月份和年份 – 2013-03-22 15:33:04

+0

它的工作原理,我已修改示例,嘗試解決方案。 – Devart 2013-03-22 15:41:23

+0

41354是2012年3月21日,如果您將單元格值更改爲MS Excel中的常規值,然後至今,這是正確的日期而非23 – 2013-03-22 16:04:43

相關問題