我有一个sql数据库,它有一个字段日期,它的类型是varchar,我想把它转换成日期,但我在这个字段有很多记录。请指导我如何将其转换为日期类型而不丢失数据。它看起来像:20-10-2018,但我想将日期列varchar类型更改为date。谢谢。
xbp102n01#
首先需要将日期字符串(varchar)转换为mysql日期格式(yyyy-mm-dd)。我们可以使用str \u to \u date()函数来实现这个。您的示例日期字符串(20-10-2018)基本上是dd-mm-yyyy格式。可以使用以下格式说明符: %d 以数字值形式表示的月份日期(01到31) %m 月份名称作为数字值(00到12) %Y 以4位数字值表示的年份更新日期的查询如下所示(db fiddle demo):
%d
%m
%Y
UPDATE your_table_name SET date_column_name = STR_TO_DATE(date_column_name, '%d-%m-%Y');
现在,你可以用 Alter Table 更改数据类型的步骤 varchar 至 date .
Alter Table
varchar
date
ALTER TABLE your_table_name MODIFY COLUMN date_column_name date;
1条答案
按热度按时间xbp102n01#
首先需要将日期字符串(varchar)转换为mysql日期格式(yyyy-mm-dd)。我们可以使用str \u to \u date()函数来实现这个。
您的示例日期字符串(20-10-2018)基本上是dd-mm-yyyy格式。可以使用以下格式说明符:
%d
以数字值形式表示的月份日期(01到31)%m
月份名称作为数字值(00到12)%Y
以4位数字值表示的年份更新日期的查询如下所示(db fiddle demo):
现在,你可以用
Alter Table
更改数据类型的步骤varchar
至date
.