首頁 >資料庫 >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