與 MySQL DATE_FORMAT 進行日期比較
使用 MySQL 的 DATE_FORMAT函數比較日期時,了解您選擇的格式會影響比較結果至關重要.
在給定的示例中,表包含格式為“%d-%m-%Y”的日期,並且查詢嘗試使用相同的格式來比較它們。但是,這會導致不正確的結果,因為“28-10-2012”按字典順序大於“02-11-2012”。
要解決此問題,建議將日期作為日期而不是字串進行比較。正確的查詢應該是:
select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';
這裡,date()函數從starttime欄位擷取日期部分,而date '2012-11-02'則指定比較年-月-值形式的日期。這可確保比較作為日期正確完成。
如果starttime 是DATETIME 字段,請考慮使用以下查詢以避免重複轉換:
select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';
一般情況下,建議使用 ISO-8601 標準進行日期格式設置,例如 y-M-d。但是,上述查詢示範如何使用提供的格式執行日期比較。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3