Comment find l'heure la plus proche dans une requête SQL Server?

id Bus arrival time 1 6:30 2 7:00 3 9:00 4 10:00 5 15:00 6 16:00 

Si un bus arrive à 6h40, l'heure la plus proche devrait être 6h30

Si le bus arrive à 9h35, le time le plus proche devrait être 10h00 comme si j'avais besoin de la solution en tant que requête T-SQL

Merci d'avance, Anil

 declare @checkTime time = '6:40' select top 1 * from schedule order by ABS(DATEDIFF(Second, @checkTime, busArrivalTime)) 

SQLFIDDLE

vous pouvez faire quelque chose comme:

 DECLARE @TIME TIME = '6:45' DECLARE @TEMP TABLE(ID int,start time); insert into @temp values(1, '6:30') insert into @temp values(1, '7:00') insert into @temp values(1, '9:00') insert into @temp values(1, '10:00') insert into @temp values(1, '15:00') insert into @temp values(1, '6:30') insert into @temp values(1, '16:00') SELECT top(1)start ,ABS(DATEDIFF(MINUTE , @TIME ,START )) as diff FROM @TEMP order by diff