SQL查询检查日期范围内存在的所有日期

问题描述:

我有一个价格表与开始日期,结束日期和价格。我想要搜索在日期范围内传递,并返回该范围内是否存在所有日期的价格。日期范围可以跨越多个价格,两者之间没有任何差距。SQL查询检查日期范围内存在的所有日期

这可能吗?

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... 
+1

这是一个完全相同的副本在这里问了很多次。看到这里:http://stackoverflow.com/questions/271595/getting-dates-between-a-range-of-dates – David 2010-03-10 21:57:07

+0

谢谢,我显然不是在寻找正确的事情。 – markvpc 2010-03-10 22:00:57

+0

我其实认为它是不同的。您无需查明所有日期以回答此查询。 – RedFilter 2010-03-10 22:02:04

我到底用这个,完美的作品:

Getting Dates between a range of dates

分组添加到您的查询与具有声明:

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