SQL Query检查日期范围之间是否存在所有日期

时间:2010-03-10 21:53:21

标签: sql date range

我有一张价格表,包含开始日期,结束日期和价格。我希望搜索传递日期范围并返回该范围内所有日期的价格是否存在。日期范围可以跨越多个价格,两者之间没有任何差距。

这可能吗?

Prices
startDate datetime
endDate datetime
price

DECLARE @startDate datetime = '2010-04-01',
        @endDate datetime = '2010-04-30'

SELECT * FROM Prices WHERE @startDate BETWEEN startDate AND endDate...

2 个答案:

答案 0 :(得分:2)

使用having语句为您的查询添加分组:

HAVING COUNT(*) = DATEDIFF(DAY,@StartDate,@EndDae)+1

答案 1 :(得分:0)

我最终使用了这个,完美地运作:

Getting Dates between a range of dates