>DECLARE @CenterLat Float=47.7795 >DECLARE @CenterLon Float=-65.7191 >DECLARE @SearchDistance Float=250 >>
insert into test select 47.7795,-65.7191 union all select 47.5993,-65.6506 declare @CenterLat float=47.7795 declare @CenterLon float=-65.7191 declare @SearchDistance float=250 select * from (select * from test T cross apply (select SIN(@CenterLat/57.2957795130823) * SIN(Latitude/57.2957795130823) + COS(@CenterLat/57.2957795130823) * COS(Latitude/57.2957795130823) * COS(Longitude/57.2957795130823 -@CenterLon/57.2957795130823) as Temp) Temp where (latitude>=@CenterLat - @SearchDistance/111.0 and latitude<=@CenterLat + @SearchDistance/111.0) and (longitude>=@CenterLon - @SearchDistance/111.0 and longitude<=@CenterLon + @SearchDistance/111.0)) X where 3958.75586574 * ACOS(case when Temp > 1 then 1 when Temp < -1 then -1 else Temp end) <=@SearchDistanceBoth records are returned.