0
我需要查找兩個日期內的所有日期。這通常與MySQL最佳方法獲取兩個日期值之間的所有日期
之間
做,但我有一個起始日期和結束日期恩柱。這意味着日期實際上延續了幾天。
所以記錄可以有這樣的價值觀:
ID,狀態,的startDate,結束日期
我怎樣才能找到所有的行,是這些日期內,只要我給查詢兩個日期。
我需要查找兩個日期內的所有日期。這通常與MySQL最佳方法獲取兩個日期值之間的所有日期
之間
做,但我有一個起始日期和結束日期恩柱。這意味着日期實際上延續了幾天。
所以記錄可以有這樣的價值觀:
ID,狀態,的startDate,結束日期
我怎樣才能找到所有的行,是這些日期內,只要我給查詢兩個日期。
爲了得到記錄,其中完整的記錄期間就在於這一期間:
SELECT *
FROM yourtable
WHERE startDate >= smallestDate AND
endDate <= largestDate;
爲了得到記錄,其中記錄時段相交的要求期間:
SELECT *
FROM yourtable
WHERE startDate <= largestDate AND
endDate >= smallestDate;
而且,出於完整性考慮,獲取記錄期間開始時間位於請求期間的記錄,但您不在乎記錄期間結束:
SELECT *
FROM yourtable
WHERE startDate BETWEEN smallestDate AND largestDate
而且,反之亦然,備案期限的結束日期:
SELECT *
FROM yourtable
WHERE endDate BETWEEN smallestDate AND largestDate
(所有例子startDate
總是比endDate
小,當然)。
你想返回其記錄日期範圍完全在提供的日期內,日期範圍完全包含提供的日期的記錄,或日期範圍與提供的日期有任何重疊的記錄? –
我希望在提供的兩個日期內和之後提供所有日期。 – Jazerix
我想要那些包含... – Jazerix