我有日期表,当用户输入日期时,我想获得具有正确值范围的单个记录。问题是日期范围相交。
这些是我拥有的表格数据
记录 1 | 最后日期 2019/01/01 | 日期 2019/12/3
记录 2 | 最后日期 2019/12/01 | 日期 2019/12/3
例如,当我输入时,2019-05-1我应该得到记录 1,当我输入时,2019-12-05我应该得到记录 2。当我输入时,219-12-05我得到 2 条记录,这是错误的。
我创建了一条 SQL 语句,但每次都得到错误的值,我不知道如何修复它
declare @currentrow int = 0
set @dateQuery = '2018-04-01'
select @count = count(*) from [dbo].[t_dates]
while @currentrow < @count
begin
select @dateFrom = [date_from], @dateTo = [date_to]
from [t_dates]
where date_id = @currentrow + 1
select @dateId = date_id
from [dbo].[t_dates]
where ((@dateQuery between @dateFrom and @dateTo))
print @dateId
print @dateFrom
print @dateTo
set @currentrow = @currentrow + 1
end
慕雪6442864
智慧大石
相关分类