我有我的sql数据库,该数据库具有一个字段日期,其类型为varchar,我想将其转换为Date,但是我在此字段中有很多记录。 请指导我如何在不丢失数据的情况下将其转换为Date类型。 看起来像是:20-10-2018 但是我想将日期列的varchar类型更改为Date。 谢谢。
答案 0 :(得分:0)
您首先需要将日期字符串(varchar)转换为MySQL date format( YYYY-MM-DD )。我们可以为此使用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;