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...
答
分组添加到您的查询与具有声明:
HAVING COUNT(*) = DATEDIFF(DAY,@StartDate,@EndDae)+1
这是一个完全相同的副本在这里问了很多次。看到这里:http://stackoverflow.com/questions/271595/getting-dates-between-a-range-of-dates – David 2010-03-10 21:57:07
谢谢,我显然不是在寻找正确的事情。 – markvpc 2010-03-10 22:00:57
我其实认为它是不同的。您无需查明所有日期以回答此查询。 – RedFilter 2010-03-10 22:02:04