以 DD/MM/YYYY 格式查询 MySQL 日期
在 MySQL 中,排序日期通常基于 YYYY-MM-DD 格式,如给定示例中所述。但是,某些情况可能需要以不同的格式对日期进行排序,例如 DD/MM/YYYY。本文介绍如何修改您的查询以实现这种替代日期排序。
错误的方法:
提供的代码尝试使用 DATE_FORMAT 将日期转换为数字string:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
但是,这种方法是不正确的,因为它只是对数字字符串进行排序,而不是对实际的字符串进行排序日期。
正确方法:
要正确对 DD/MM/YYYY 格式的日期进行排序,您有两个选项:
1 。格式化输出:
如果您只想将输出格式化为 DD/MM/YYYY 而不改变实际排序顺序,请使用以下查询:
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
在此在这种情况下,日期值保留其原始格式,但添加了一个新列,niceDate,以 DD/MM/YYYY 显示日期格式。
2.按日期组件排序:
如果您确实需要按日、月、年对日期进行排序,请使用更复杂的查询:
SELECT * FROM table ORDER BY DAY(date) DESC, MONTH(date) DESC, YEAR(date) DESC LIMIT 0,14
这查询提取各个日期组成部分(日、月和年),并根据指定的规则对它们进行降序排序。
以上是如何对 DD/MM/YYYY 格式的 MySQL 日期进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!