選擇帶有今天時間戳的行
在資料庫中,通常需要根據特定時間段檢索記錄。常見的情況是選擇具有今天時間戳記的記錄。本文提出了針對此特定問題的解決方案。
提出的問題涉及從資料庫表中選擇記錄,其中時間戳欄位包含今天的日期,無論時間如何。提供的查詢使用 DATE_SUB() 從目前時間減去 24 小時並檢索過去 24 小時的結果。
要只根據日期選擇結果,我們可以利用 DATE() 和 CURDATE()功能。這是修改後的查詢:
SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE()
在此查詢中,DATE() 從時間戳字段中提取日期部分,丟棄時間資訊。 CURDATE() 傳回目前日期,確保我們只擷取今天的記錄。
但是,需要注意的是,此查詢可能無法有效地利用索引。對於更最佳化的解決方案,請考慮以下查詢,它使用索引日期列:
SELECT * FROM `table` WHERE `date` = DATE(NOW())
由於此查詢直接將日期列與當前日期進行比較,因此它可以利用日期列上的索引執行速度更快。
以上是如何有效率地選擇資料庫中具有今天時間戳的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!