如何在 MySQL 中處理特定格式的日期排序?
當涉及到 MySQL 中的日期排序時,典型的方法是對 YYYY-MM-DD 等格式使用 DESC 修飾符。但是,在處理不同的日期格式(例如 DD/MM/YYYY)時,會出現混亂。
在以 DD/MM/YYYY 格式排序日期的特定情況下,提供的查詢無法如預期運作。此查詢嘗試將 DATE_FORMAT 函數直接套用於 DATE_FORMAT(Date, '%Y%m%d') 表達式,這與所需的結果不符。
要解決此問題,您有兩個方法主要選項:
僅格式化輸出日期:如果目標只是要以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' 格式。結果將以所需的格式顯示日期,同時保持基礎日期值不變。
實際按日、月和年排序:如果您確實想要按照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中文網其他相關文章!