如何在不丢失 Xampp 数据的情况下将类型从 varchar 更改为 Date

How to change Type from varchar to Date without losing Data in Xamp

我的 sql 数据库有一个日期字段,它的类型是 varchar,我想把它转换成日期,但我在这个字段中有很多记录。 请指导我如何在不丢失数据的情况下将其转换为日期类型。 它看起来像:20-10-2018 但我想将日期列 varchar 类型更改为日期。 谢谢。

为此,您首先需要将日期字符串 (varchar) 转换为 MySQL date format (YYYY-MM-DD). We can use STR_TO_DATE() 函数。

您的示例日期字符串 (20-10-2018) 基本上是 dd-mm-yyyy 格式。可以使用以下格式说明符:

  • %d 一个月中的第几天作为数值(01 到 31)
  • %m 月份名称作为数值(00 到 12)
  • %Y 4 位数值的年份

更新日期的查询如下所示 (DB Fiddle DEMO):

UPDATE your_table_name 
SET date_column_name = STR_TO_DATE(date_column_name, '%d-%m-%Y');

现在,您可以使用 Alter Table 将数据类型从 varchar 更改为 date

ALTER TABLE your_table_name 
MODIFY COLUMN date_column_name date;