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