2012-01-18 121 views
5

我想編寫一個查詢,將檢查今天的日期對我的表列在MySQL/PHP的日期1和date2。這是我所追求的:如何使用mysql檢查日期是在date1和date2之間?

「事件」表:

  • DATE1 =開始日期(XXXX-XXXX)
  • DATE2 =結束日期(XXXX-XXXX)

查詢:

  • SELECT * FROM事件DATE1和date2之間,其中2012-01-18(或等於日期1和date2)

但我不知道如何去了解它..任何幫助,將不勝感激:)

編輯:

也許我不清楚..如果今天的日期=「2012-01-18」我需要它來尋找的結果,如果當天的日期是日期1日期範圍和date2之間..所以可能DATE1是'2012-01-04',date2可能是'2012-01-21'..所以如果今天的日期落在這些日期之間或之後,結果會被返回..

回答

14
SELECT * FROM events 
    WHERE date1<='2012-01-18' 
    AND date2>='2012-01-18' 
+0

我需要它來顯示2012-01-18是否在date1和date2的範圍之間,如果這有意義嗎? – SoulieBaby 2012-01-18 03:03:34

+0

這正是這個查詢所做的:它選擇所有行,其中2012-01-18在行 – 2012-01-18 03:05:46

+0

中定義的範圍內hmm這是我的查詢(將日期更改爲dbase中的事件之間)SELECT * FROM events WHERE date1> ='2012-04-01'AND date2 <='2012-04-01'但沒有返回結果..它應該取出的事件date1 = 2012-03-30和date2 = 2012-04 -16 ... – SoulieBaby 2012-01-18 03:09:37

1
SELECT * 
FROM events 
WHERE date1 <= '2012-01-18' 
AND date2 >= '2012-01-18'; 

這應該讓你開始。如果您不想硬編碼日期,則可以使用DATE(NOW())獲取今天的日期。

+0

這篇文章沒有任何意義 – Tim 2012-06-20 00:37:12

+0

@Tim這個評論沒有任何意義。 – styfle 2012-06-20 17:07:45

+0

@Tim你會解釋爲什麼你投下了票嗎? – styfle 2012-06-22 22:28:42

1

試試這個,

SELECT * FROM events 
    WHERE date1<='2012-01-19' 
    AND date2>='2012-01-18' 
-2

修改的styfle的代碼版本

$date1 = '2010-01-01'; // example min 
$date2 = '2015-01-01'; // example max 
$sql = "SELECT * FROM events WHERE $date1 >= '2012-01-18' AND $date2 <= '2012-01-18';"; 
$result = mysql_query($sql) or die(mysql_error()); 
if (mysql_num_rows($result) != 0) { 
    // This date is equal to or within the range specified 
} else { 
    // The date was not within the range specified 
} 

那麼你可以有執行基於結果

+0

這個查詢沒有任何意義。 – Tim 2012-06-20 00:38:02

2

如果你指的是比較日期今天之間的代碼一個開始和結束日期,我認爲你應該使用這個:

SELECT * 
FROM table 
WHERE '2014-08-20' >= start_date 
AND '2014-08-20' <= end_date 

希望這會有所幫助:)

0

雖然這個問題有很多答案,但我想就我面對的情況給出我的回答。

我使用php來查詢mysql數據庫。

首先我要做的就是到這是YYYY-MM-DD

$date = new DateTime($date); 
$date=date_format($date, 'Y-m-d'); 

查詢的WHERE子句中在MySQL支持的日期格式轉換我用BETWEEN

"'$date' BETWEEN start_date AND end_date" 

這在這裏描述的情況下完美地工作。

相關問題