我有一個用於插入日期時間字段的應用程序。有一個問題,雖然它會插入秒,它不應該!MySQL查詢來標準化日期時間字段
I.e. 2011-08-07 15點24分06秒
他們已經糾正了這一點,並插入現在只包括最新的,因此上面的例子看起來像
2011-08-07 15:24:00
目前有2000萬行「錯誤」。什麼是最有效的查詢來修復舊的?
我有一個用於插入日期時間字段的應用程序。有一個問題,雖然它會插入秒,它不應該!MySQL查詢來標準化日期時間字段
I.e. 2011-08-07 15點24分06秒
他們已經糾正了這一點,並插入現在只包括最新的,因此上面的例子看起來像
2011-08-07 15:24:00
目前有2000萬行「錯誤」。什麼是最有效的查詢來修復舊的?
UPDATE
table
SET
timefield = DATE_FORMAT(timefield,'%Y-%m-%d %H:%i:00')
WHERE
SECOND(timefield) <> 0;
這將要讀表的每一行提取的時間seconds
部分(這是不可避免的),但它不會需要更新其已經是正確的行。
可能根據'錯誤'過濾你的更新,然後對最後3個字符進行正確修剪。
但修剪會刪除這些字符?我可以很容易地過濾,因爲我知道它什麼時候改變了,但你有沒有更新聲明的例子? –
埃米爾的回答會更好地爲你服務。 – diagonalbatman
但我不需要使用:00而不是:%s? –
李,當然,我已經糾正了這一點。 –