首页 >数据库 >mysql教程 >如何在 MySQL 中正确排序 DD/MM/YYYY 格式的日期?

如何在 MySQL 中正确排序 DD/MM/YYYY 格式的日期?

DDD
DDD原创
2024-12-08 11:35:15744浏览

How to Correctly Order Dates in DD/MM/YYYY Format in MySQL?

如何在 MySQL 中处理特定格式的日期排序?

当涉及到 MySQL 中的日期排序时,典型的方法是对 YYYY-MM-DD 等格式使用 DESC 修饰符。但是,在处理不同的日期格式(例如 DD/MM/YYYY)时,会出现混乱。

在以 DD/MM/YYYY 格式排序日期的特定情况下,提供的查询无法按预期工作。该查询尝试将 DATE_FORMAT 函数直接应用于 DATE_FORMAT(Date, '%Y%m%d') 表达式,这与所需的结果不符。

要解决此问题,您有两个方法主要选项:

  1. 仅格式化输出日期:如果目标只是要以 DD/MM/YYYY 格式显示日期而不更改实际日期值,可以使用以下查询:

    SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate 
    FROM table 
    ORDER BY date DESC 
    LIMIT 0,14

    在此查询中,DATE_FORMAT 函数应用于带有 ' 的日期列数据检索过程中的 %d/%m/%Y' 格式。结果将以所需的格式显示日期,同时保持基础日期值不变。

  2. 实际按日、月和年排序:如果您确实想要要按照 DD/MM/YYYY 建议按日、月、年对结果进行排序,您将需要使用自定义比较函数。此函数将提取日期的各个组成部分并执行字典顺序比较。下面是实现此方法的示例查询:

    SELECT * FROM table
    ORDER BY FORMAT_DAYOFMONTH(Date), FORMAT_MONTH(Date), FORMAT_YEAR(Date) DESC
    LIMIT 14

以上是如何在 MySQL 中正确排序 DD/MM/YYYY 格式的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn