在 MySQL 中将 VARCHAR 切换为 DATE

Rob*_*sto 6 mysql varchar date

我继承了一个数据库,它有一个真正应该是 DATE 的 VARCHAR 列。没有对表单进行检查(我需要修复它),因此日期不断输入为 2016-12-4 而不是 2016-12-04 等等。

我很确定历史上有很多错误的日期,所以我对将数据类型更改为 DATE 有点怀疑,但我很好奇改变它的好策略是什么?

背景:(我是前端开发人员,不是 DBA,所以虽然我可以在 SQL 中四处走动,但我不知道我不知道的东西,而且我总是害怕我会犯一个错误,这会破坏数据库)。

Eva*_*oll 6

使用str_to_date()处理转换。

str_to_date('2016-12-4', '%Y-%m-%d'); 
Run Code Online (Sandbox Code Playgroud)