请帮助我解决我的问题。因此,我有一个名为“RATES”的表,其中包含以下列:
id (int)
rate (money)
start_time (datetime)
end_time(datetime)
示例数据:
1 150 8:00am 6:00pm
2 200 6:00pm 4:00am
3 250 8:00am 4:00am (the next day)
我要做的是选择所有给定时间将落入的id。
例如,给定时间:9:00 pm,输出应为2,3
问题是我第二天早上8点到凌晨4点之间有这个时间范围,我不知道该怎么办。请帮助!提前致谢
最佳答案
假设@Andriy M是正确的:
end_time
start_time,则end_time
属于第二天Declare @GivenTime DateTime
Set @GivenTime = '9:00 PM'
Select ID
From Rates
Where (Start_Time<End_Time And Start_Time<=@GivenTime And End_Time>=@GivenTime)
Or (Start_Time=End_Time And Start_Time=@GivenTime)
Or (Start_Time>End_Time And (Start_Time>=@GivenTime Or End_Time<=@GivenTime))
关于sql - 时间范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5940708/