从两个日期之间的日期范围中选择数据
给定一个名为 Product_Sales 的表,其中包含产品销售数据,包括 Sold_by、Qty、From_date和 To_date,我们寻求一个查询来检索特定日期范围内的销售数据。例如,我们的目标是选择从 2013 年 1 月 3 日到 2013 年 1 月 9 日的数据。
首先,我们观察到目标范围内的任何日期要么与行的 From_date 和 To_date 相交,要么位于其中完全在两个边界之外。因此,我们寻求一个返回满足此条件的行的查询。
一种方法涉及识别所有有效间隔(目标范围与行间隔重叠的间隔)并排除所有无效间隔。为此,我们可以使用以下查询:
SELECT * FROM Product_Sales WHERE NOT (From_date > @RangeTill OR To_date < @RangeFrom)
其中 @RangeTill 是目标范围的上限(包含),@RangeFrom 是下限(包含)。此查询利用了非排除情况下的区间交集将满足以下条件的事实:
以上是如何使用SQL查询特定日期范围内的产品销售数据?的详细内容。更多信息请关注PHP中文网其他相关文章!