首頁 >資料庫 >mysql教程 >如何從 MySQL 的 DateTime 列中高效提取日期?

如何從 MySQL 的 DateTime 列中高效提取日期?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-02 17:33:10762瀏覽

How to Efficiently Extract Dates from DateTime Columns in MySQL?

從日期時間列中高效選擇日期

使用日期時間資料類型時,通常需要擷取特定元件,例如日期或時間。本文解決了從 MySQL 中的日期時間列檢索日期的挑戰。

問題

常見查詢是根據特定日期過濾行,如下例所示:

SELECT * FROM data
WHERE datetime = '2009-10-20'
ORDER BY datetime DESC;

但是,提供的解決方案使用BETWEEN 子句定義日期範圍' 2009-10-20 00:00:00' 到'2009-10-20 23:59:59'傳回一個空結果集。

解決方案

為了有效提取日期,MySQL 提供了 DATE()函數,它傳回日期時間值的日期部分。在WHERE 子句中使用DATE() 允許與日期文字直接比較:

SELECT * FROM data
WHERE DATE(datetime) = '2009-10-20'
ORDER BY datetime DESC;

有時可以提高效能的替代方法是使用帶有通配符後綴的LIKE 運算子:

SELECT * FROM data
WHERE datetime LIKE '2009-10-20%'

但是,值得注意的是,LIKE 比較可能會對效能產生影響,正如其他Stack Exchange 執行緒中所討論的那樣。

以上是如何從 MySQL 的 DateTime 列中高效提取日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn