首頁 > 資料庫 > mysql教程 > 如何在MySQL中檢索帶有今天時間戳記的記錄?

如何在MySQL中檢索帶有今天時間戳記的記錄?

Mary-Kate Olsen
發布: 2024-11-13 09:20:02
原創
844 人瀏覽過

How to Retrieve Records with Today's Timestamp in MySQL?

如何選擇帶有當天時間戳的行

在資料庫管理系統中,通常會儲存資料記錄的時間戳以追蹤它們的記錄時間建立或修改。但是,當您需要從帶有時間戳記的表中檢索資料時,您可能會遇到根據特定日期選擇記錄的挑戰。

問題陳述

您有一個資料庫帶有時間戳列的表,並且您只想檢索當天建立的記錄。您最初使用下面的查詢,但注意到它返回過去24 小時的記錄,而不僅僅是今天的日期:

SELECT * FROM `table` WHERE (`timestamp` > DATE_SUB(now(), INTERVAL 1 DAY));
登入後複製

解決方案

要選擇具有當天的時間戳而忽略時間,您可以使用以下內容查詢:

SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE()
登入後複製
  • DATE()函數傳回時間戳記的日期部分,刪除時間資訊。
  • CURDATE() 函數以MySQL 形式傳回目前日期日期value.

警告:

雖然此查詢達到了您的預期結果,但它可能無法以最佳方式執行。在時間戳列上使用 DATE() 會阻止 MySQL 有效地使用該列上的任何索引。

為了更有效的解決方案,您可以建立一個專用的日期列並將時間戳記的日期部分儲存在該列中。這允許 MySQL 在日期列上使用索引來加快查詢速度。

以下是如何建立專用日期列並更新其值的範例:

ALTER TABLE `table` ADD COLUMN `date` DATE NOT NULL;
UPDATE `table` SET `date` = DATE(`timestamp`);
登入後複製

以上是如何在MySQL中檢索帶有今天時間戳記的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板