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