gpt4 book ai didi

MySQL获取两个日期值之间所有天数的最佳方法

转载 作者:行者123 更新时间:2023-11-29 08:19:47 25 4
gpt4 key购买 nike

我需要查找两个日期内的所有日期。这通常可以通过

完成

BETWEEN

,但我有一个 StartDate 和 en EndDate 列。这意味着该日期实际上会持续几天。

因此记录可以具有如下值:

id、状态、开始日期结束日期

如果我为查询提供两个日期,如何找到这些日期内的所有行。

最佳答案

要获取完整记录期间位于请求期间内的记录:

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。)

关于MySQL获取两个日期值之间所有天数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com