【发布时间】:2011-11-18 20:58:42
【问题描述】:
我有一些办公室记录。数据库已经创建并填充了大量数据。我必须在上面创建搜索功能。但问题是数据库有日期字段,它是 var char 格式,格式为“DD-MM-YYYY”,例如:“18-11-2011” 我想以日期格式转换日期列而不会丢失这些数据。我试着在测试台上做,一切都归零。例如:0000-00-00
同样可以做什么?
【问题讨论】:
我有一些办公室记录。数据库已经创建并填充了大量数据。我必须在上面创建搜索功能。但问题是数据库有日期字段,它是 var char 格式,格式为“DD-MM-YYYY”,例如:“18-11-2011” 我想以日期格式转换日期列而不会丢失这些数据。我试着在测试台上做,一切都归零。例如:0000-00-00
同样可以做什么?
【问题讨论】:
要扩展 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');
然后您可以删除旧列并重命名新列。或者保持原样。
【讨论】: