我有一個表是從外部來源的數據填充。問題是我得到了同一列的兩種不同格式的日期,格式有'%Y-%m-%d %H:%i'
格式和'%Y-%d-%m %H:%i%s'
格式的其他格式,它們都是VARCHAR
類型。MYSQL同一表具有不同的日期格式
我知道如何將字符串類型的日期字段轉換爲日期/日期時間字段,但是如何處理日期到期方式的差異?是否有可能根據各自的格式更新日期,以便我可以應用WHERE
條件以進行更新,只有WHERE date_field
是'%Y-%m-%d %H:%i'
格式,然後是另一個查詢以使日期字段更新爲'%Y-%d-%m %H:%i%s'
格式?
現在,當我嘗試用一種通用查詢,我得到錯誤這DONOT符合格式的字段更新表:
UPDATE my_table
SET my_date_field = STR_TO_DATE(my_date_field,'%Y-%m-%d %H:%i:%s');
迴應:錯誤代碼:1411不正確的日期時間值:'10 - 22-12 15:00' 的功能STR_TO_DATE
UPDATE my_table
SET my_date_field = STR_TO_DATE(my_date_field,'%Y-%d-%m %H:%i');
RESPONSE:錯誤代碼:1292截斷不正確的日期時間值: '2010-01-01 00:00:00'
太棒了!完美工作。我完全忘了我可以用案例。謝謝。 – user988544
添加演示鏈接:D –
感謝您增加演示鏈接。 – user988544