使用日期時間資料類型時,通常需要擷取特定元件,例如日期或時間。本文解決了從 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中文網其他相關文章!