1
我有一些辦公室記錄。數據庫已經創建並充滿大量數據。我必須在其上創建搜索功能。但問題是數據庫有日期字段,它是以var char形式並以「DD-MM-YYYY」形式,例如:「18-11-2011」 我想以日期格式轉換日期列而不丟失此數據。我試着在測試桌上做所有事情,一切都變成了零。例如:0000-00-00MySQl日期格式更新日期格式不同的Varchar
可以做些什麼?
我有一些辦公室記錄。數據庫已經創建並充滿大量數據。我必須在其上創建搜索功能。但問題是數據庫有日期字段,它是以var char形式並以「DD-MM-YYYY」形式,例如:「18-11-2011」 我想以日期格式轉換日期列而不丟失此數據。我試着在測試桌上做所有事情,一切都變成了零。例如:0000-00-00MySQl日期格式更新日期格式不同的Varchar
可以做些什麼?
要擴大flesk的回答添加新列
ALTER TABLE foo ADD newdate DATE;
更新的表格來填補這一新的列(如flesk一樣)
UPDATE foo SET newdate=str_to_date(olddate, '%d-%m-%Y');
那麼你甚至可以測試轉換是否正確。
SELECT * FROM foo WHERE olddate <> DATE_FORMAT(newdate, '%d-%m-%Y');
然後您可以刪除舊列並重命名新列。或者保持原樣。
非常感謝你的工作! – Chinmay