MySQL SELECT WHERE date 等於昨天的條件判斷寫法

在 PHP 執行 MySQL SELECT 時,有時候會需要找出日期等於昨天的資料,這時候可以用兩種簡單的方式來做,第一種是先用 PHP 字串設定好昨天的日期,第二種則是用 MySQL 的 CURDATE() 函數來處理,都不困難,請參閱以下語法範例。

用 PHP 字串

$Yesterday=date("Y-m-d",strtotime("-1 day"));
$sql="SELECT * FROM table WHERE `date`='$Yesterday' LIMIT 1";

在範例的一開始,我們先設了一個 PHP 變數並指定為昨天的日期,指定方式是用 date 函數加上 strtotime("-1 day") 讓 date("Y-m-d") 原本的今天日期減少一天,變成昨天的日期,再帶入到 SELECT 的 WHERE 條件子句中,這樣就能只撈出日期等於昨天的資料。

用 MySQL 的 CURDATE() 函數

SELECT * FROM table WHERE date = SUBDATE(CURDATE(),1);

這裡使用了 MySQL 的 SUBDATE() 函數,它的功能是返回某個日期減去幾天後的日期,語法如下

SUBDATE("指定日期",要減去的天數)

我們在範例中使用了 CURDATE() 函數來指定今天的日期,半形逗號後使用 1,表示要減去 1 天,所以 SUBDATE() 函數會返回昨天的日期,放在 SELECT 的 WHERE 條件子句中,就能查詢到日期等於昨天的資料。

以上兩種就是簡單的 MySQL SELECT WHERE date 等於昨天的條件判斷寫法。

© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012