gpt4 book ai didi

php - 排序由 mysql 中的日期组成的 VARCHAR 字段

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:23 25 4
gpt4 key购买 nike

我有一个带有 VARCHAR 字段的 mysql 表,该字段以 dd/mm/yyyy 格式存储日期。该表中已经存储了数据,我需要按降序对这些数据进行排序。这可能吗?

最佳答案

处理日期的最佳方法是将 then 存储为日期数据类型。

您可以通过添加日期数据类型的列、将数据合并到其中然后重新命名,轻松地将其中的数据转换为日期列。

alter  yourTable add dateColumnName date;
update yourTable set dateColumnName = STR_TO_DATE(oldDateColumn, '%m/%d/%Y');
drop column oldDateColumn;
alter table yourTable change dateColumnName oldDateColumn date;

如果这样做,您将能够进行各种复杂的日期操作(不仅限于对日期进行很好的排序,或者以不同的格式输出数据 - 还包括计算、比较等等)。您需要注意,您可能还必须更改将数据插入列的方式 - 尽管有许多简单的方法可以将字符串日期从 CSV 或表单转换为正确的日期列。

编辑:正如 Martin 指出的那样,如果您现在在其中存储了一些流浪数据,则在转换为日期时可能会出现问题,但您可以在进行更新时相当轻松地找到这些数据。 update... 查询运行后,只需运行以下命令:

select count(*) from yourTable where dateColumnName is null; // Total Problem Count
select * from yourTable where dateColumnName is null; // Detail

这将显示未更新的行

关于php - 排序由 mysql 中的日期组成的 VARCHAR 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12259007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com