簡體   English   中英

檢查日期是否介於 MySQL 數據庫中的兩個日期之間?

[英]Check if a date falls between two dates in MySQL database?

我有一個 MySQL 數據庫,其中包含城市 class(1、2、3、4、5 類)、開始日期和結束日期。 我有一個 web 應用程序(PHP),我需要檢查 class 是否在日期范圍內匹配。

例如,演示表:

City    Class      StartDate      EndDate
LA      1          2019-09-13    2019-10-29
SF      2          2019-09-13    2019-10-29

我需要查詢此數據庫以檢查城市 class 是否與介於這些日期之間的日期匹配。

有沒有辦法可以用 MySQL 做到這一點,然后將其傳回 PHP? 我將如何 go 這樣做?

我可以通過這種方式查詢 MySQL 以返回該行:

SELECT * FROM blackout where '2019-09-13' BETWEEN start_date AND end_date AND city="SF" AND class="2";

但我正在尋找更多的二進制真或假回報。

的結果

      SELECT EXISTS(SELECT *
       FROM blackout where '2019-09-13' BETWEEN StartDate AND EndDate 
       AND city="SF" AND class="2");

1

而對於

      SELECT EXISTS(SELECT *
       FROM blackout where '2017-09-13' BETWEEN StartDate AND EndDate 
       AND city="SF" AND class="2");

你得到一個0

嘗試此查詢以獲得您的解決方案

SELECT IF(COUNT(*) > 0, 'true', 'false') AS result FROM blackout WHERE (date(start_date) >= "2019-09-03" AND date(end_date) <= "2019-09-03") AND city="SF" AND class="2";

希望這可以幫助你。 如果您遇到任何問題,請告訴我。

暫無
暫無

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

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