如何在不丢失 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;
我的 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;