这是更好地不是做你列的任何计算.改为计算间隔并获取间隔中的行.这样您就可以使用索引eventdate而不是进行表扫描.
select SomeColumns
from YourTable
where eventdate >= dateadd(day, datediff(day, 0, getdate()), 0) and
eventdate < dateadd(hour, 32, dateadd(day, datediff(day, 0, getdate()), 0))
Run Code Online (Sandbox Code Playgroud)