2015-04-05 77 views
2

我想將字符串轉換爲日期時間,它適用於一些但不是全部。我認爲這是因爲mysql不懂毫秒。但是有沒有辦法讓它忽略毫秒,或者我怎樣才能在上一段時間後刪除該部分,創建一個新列,然後將該列轉換爲日期時間。結果和輸入如下所示。截取不正確的日期時間值mysql

我使用set @@sql_mode='no_engine_substitution';,我發現在另一個stackoverflow問題,但它似乎沒有幫助。

1292 Truncated incorrect datetime value: '2015-03-16 08.36.20.814000' 
Rows matched: 156192044 Changed: 105813258 Warnings: 156088004 

我正在使用上一個問題中建議的方法來轉換它們。 Convert String to Datetime Object in SQL

我的更新查詢:

update marketwatch_data set `datetime` = STR_TO_DATE(`Update Time`,'%Y-%m-%d %h.%i.%s'); 
+0

實際上,它看起來像它完全設置SQL模式工作。如果是這種情況,我會刪除。我正在查看數據。 – mobone 2015-04-05 02:54:32

回答

2

您可以使用substring_index()

update marketwatch_data 
    set `datetime` = STR_TO_DATE(substring_index(`Update Time`, '.', 3), 
           '%Y-%m-%d %h.%i.%s'); 
+0

現在會做,重建索引。謝謝! – mobone 2015-04-05 03:13:48

相關問題