2008-11-06 51 views
0

我試圖訪問日期時間字段轉換爲mysdl格式,使用以下字符串:將訪問日期時間類型到MySQL類型

select str_to_date('04/03/1974 12:21:22', '%Y %m %d %T'); 

雖然我沒有得到一個錯誤,我沒有得到預期的結果,相反,我得到這樣的:

+---------------------------------------------------+ 
| str_to_date('04/03/1974 12:21:22', '%Y %m %d %T') | 
+---------------------------------------------------+ 
| NULL            | 
+---------------------------------------------------+ 
1 row in set, 1 warning (0.01 sec) 

訪問日期格式爲:

06.10.2008 14:19:08 

我不是確定我錯過了什麼。

作爲一個側面的問題,我想知道是否有可能在導入csv文件以更改列中的數據之前?我想用我自己的日期替換insert_date和update_date字段,並且我不確定在導入之前或之後執行此操作會更容易。

非常感謝您的協助。

回答

4

該函數的語法關閉。

嘗試:

select str_to_date('04/03/1974 12:21:22', '%m/%d/%Y %T'); 

第二個參數是告訴那裏的日期的部分都位於您的字符串的函數。

對於您的接入問題:

select str_to_date('06.10.2008 14:19:08', '%m.%d.%Y %T'); 
+0

這不是一個訪問問題,後者不會在Access中工作,因爲沒有日期格式化函數稱爲「str_to_date」。 – 2008-11-08 03:28:44

1

首先,顯示的str_to_date不起作用,因爲格式與字符串不匹配。如果日期類似'1974 04 03 12:21:22'

'%Y%m%d%T'將會正常工作正確的格式應該是'%m /%d /%Y%T'(月/日/年)。或'%d /%m /%Y%T'(日/月/年時間)。

至於訪問,它看起來喜歡改變以上使用。 /應該在哪裏工作。

0

這不是我清楚其中的這個你使用,接入端或MySQL的結束,雖然它看起來像你想使用MySQL的解決它結束功能。如果您的問題是您已經從Access/Jet導出了CSV並且它不是預期的格式,那麼您可能需要修復Access導出的CSV導出以使用MySQL可以理解的格式。

如果您有能力使用Access/Jet數據庫,那麼爲您的MySQL數據庫設置ODBC DSN也可能會更簡單,然後在Access中創建鏈接表,然後您可以直接從其中添加數據訪問表到您的MySQL表中。 MyODBC驅動程序將爲您處理數據轉換。