>>>> create cursor Coordinates ; >>>> ( co_pk I, ; >>>> co_city c(40), ; >>>> co_latitude b(16), ; >>>> co_longitude b(16), ; >>>> co_x b(16), ; >>>> co_y b(16), ; >>>> co_z b(16) ; >>>> ) >>>> >>>> insert into Coordinates ; >>>> ( co_pk, co_city, co_latitude, co_longitude) ; >>>> values ; >>>> (1, 'Here', 47.7795, -65.7191 ) >>>> >>>> insert into Coordinates ; >>>> ( co_pk, co_city, co_latitude, co_longitude) ; >>>> values ; >>>> (2, 'There', 47.5993, -65.6506 ) >>>> >>>> >>>> update Coordinates ; >>>> set co_x = cos(co_latitude*PI()/180) * cos(co_longitude*PI()/180), ; >>>> co_y = cos(co_latitude*PI()/180) * sin(co_longitude*PI()/180), ; >>>> co_z = sin(co_latitude*PI()/180) >>>> >>>> >>>> CenterLat =47.7795 >>>> CenterLon = -65.7191 >>>> SearchDistance = 1000 >>>> >>>> select * ; >>>> from Coordinates ; >>>> where ( co_latitude between CenterLat - (1/111 * SearchDistance) and CenterLat + (1/111 * SearchDistance) ) ; >>>> and ( co_longitude between CenterLon - (1/111 * SearchDistance) and CenterLon + (1/111 * SearchDistance) ) >>>>>>>
>>>declare @CenterLat float=47.7795 >>>declare @CenterLon float=-65.7191 >>>declare @SearchDistance float=1000 >>> >>>select * from Test >>> where(latitude between @CenterLat - (1/111 * @SearchDistance) and @CenterLat + (1/111 * @SearchDistance)) and >>> (longitude between @CenterLon - (1/111 * @SearchDistance) and @CenterLon + (1/111 * @SearchDistance)) >>>>>
>>select * from Test >> where(latitude between @CenterLat - @SearchDistance/111.0 and @CenterLat + @SearchDistance/111.0 ) and >> (longitude between @CenterLon - @SearchDistance/111.0 and (@CenterLon + @SearchDistance/111.0) ) >>>