2011-08-14 80 views
0

我有一個用於插入日期時間字段的應用程序。有一個問題,雖然它會插入秒,它不應該!MySQL查詢來標準化日期時間字段

I.e. 2011-08-07 15點24分06秒

他們已經糾正了這一點,並插入現在只包括最新的,因此上面的例子看起來像

2011-08-07 15:24:00

目前有2000萬行「錯誤」。什麼是最有效的查詢來修復舊的?

回答

2
UPDATE 
    table 
SET 
    timefield = DATE_FORMAT(timefield,'%Y-%m-%d %H:%i:00') 
WHERE 
    SECOND(timefield) <> 0; 

這將要讀表的每一行提取的時間seconds部分(這是不可避免的),但它不會需要更新其已經是正確的行。

+0

但我不需要使用:00而不是:%s? –

+0

李,當然,我已經糾正了這一點。 –

-1

可能根據'錯誤'過濾你的更新,然後對最後3個字符進行正確修剪。

+0

但修剪會刪除這些字符?我可以很容易地過濾,因爲我知道它什麼時候改變了,但你有沒有更新聲明的例子? –

+0

埃米爾的回答會更好地爲你服務。 – diagonalbatman