[英]How to check in MySQL if any date in a range of dates falls between dates held in a table
[英]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.