MySQl DATE Format 将 Varchar 更新为不同格式的日期

标签 mysql database date

我有一些办公记录。数据库已经创建并填充了大量数据。我必须在其上创建搜索功能。但问题是数据库有日期字段,它是 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');

然后您可以删除旧列并重命名新列。或者保持原样。

关于MySQl DATE Format 将 Varchar 更新为不同格式的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8189056/

相关文章:

sql - EAV 解决方案/软件包/供应商?

javascript - 如何在 JavaScript 中将日期转换为另一种格式?

mysql - 切片类型后循环

mysql - GIS:PostGIS/PostgreSQL vs. MySql vs. SQL Server?

php - 阻止 mysql 值在 php oop 中重复?

mysql - 在 Rails 中使用带有西类牙语数据库的英语模型

php - Mysqli多行插入,简单的多插入查询

mysql - 为什么主键图标不亮?

php - 碳零日期

php - 找不到四位数的年份 Carbon 中缺少数据