簡體   English   中英

MySQL查詢以選擇比x天更新的記錄

[英]MySQL query to select records newer than x days

很抱歉,這聽起來像是一個非常基本的問題,但是由於某種原因,今天我真的很難解決這個問題。 我有一個數據庫表,其日期格式為2014-09-30 20:39:17並且有一個date_added列,並且我有一個帶有用戶過濾選項的網頁。 基本上,我想使用變量來選擇不同的日期范圍,例如:

SELECT * FROM table WHERE date_added = /* EVERYTHING POSTED TODAY */
SELECT * FROM table WHERE date_added = /* EVERYTHING POSTED WITHIN LAST 7 DAYS */
SELECT * FROM table WHERE date_added = /* EVERYTHING POSTED WITHIN LAST 30 DAYS */

我需要輸入什么才能使這些變量起作用?

您可以使用CURDATE()和非常簡單的INTERVAL算法。

在以下示例中,假設查詢是在2014-10-21 22:25:28執行的:

SELECT * FROM table WHERE date_added >= CURDATE()
                                  -- >= 2014-10-21 00:00:00

SELECT * FROM table WHERE date_added >= NOW() - INTERVAL 24 HOUR
                                  -- >= 2014-10-20 22:25:28

SELECT * FROM table WHERE date_added >= CURDATE() - INTERVAL 7 DAY
                                  -- >= 2014-10-14

SELECT * FROM table WHERE date_added >= CURDATE() - INTERVAL 30 DAY
                                  -- >= 2014-09-21

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM