如何在不丢失 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的主要内容,如果未能解决你的问题,请参考以下文章

如何在不丢失小数的情况下将数据框中的字符转换为数字

如何在不丢失 css 的情况下将模板从桌面发送到移动设备

如何在不丢失信号的情况下将信号从多个子进程发送到主进程?

如何在不丢失 exif 数据的情况下将 UIImage 转换为 JPEG?

如何在不丢失值的情况下将 json 解析为 pandas 数据框? [复制]

如何在不丢失导航栏的情况下将子视图添加到 UINavigation 控制器?