如何在不丢失 Xampp 中的数据的情况下将类型从 varchar 更改为 Date
Posted
技术标签:
【中文标题】如何在不丢失 Xampp 中的数据的情况下将类型从 varchar 更改为 Date【英文标题】:How to change Type from varchar to Date without losing Data in Xamp 【发布时间】:2019-03-29 20:46:26 【问题描述】:我的 sql 数据库有一个字段 date,它的类型是 varchar,我想将它转换为 Date,但我在这个字段中有很多记录。 请指导我如何在不丢失数据的情况下将其转换为日期类型。 它看起来像:20-10-2018 但我想将日期列 varchar 类型更改为 Date。 谢谢。
【问题讨论】:
数据在您的表中看起来如何? 它看起来像:20-10-2018 但我想将日期列的类型从 varchar 更改为 Date 请编辑问题以添加此详细信息 我已经添加了这个 【参考方案1】:您首先需要将日期字符串 (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;
【讨论】:
它可以工作,但它将日期记录更改为这种格式,如 YYYY-MM-DD,但我需要将它转换为 DD-MM-YYYY 格式,因为我的项目中的许多地方都在使用此记录,所以这就是为什么我必须在整个项目中更改它?? @AmmarMehr 请阅读 MySQL 日期格式。仅限 YYYY-MM-DD。以上是关于如何在不丢失 Xampp 中的数据的情况下将类型从 varchar 更改为 Date的主要内容,如果未能解决你的问题,请参考以下文章
如何在不丢失 exif 数据的情况下将 UIImage 转换为 JPEG?