试图解决近似查询

时间:2015-06-15 23:30:09

标签: sql sql-server sql-server-2012

我真的很难过,我实际上是在创建一个程序,根据纬度和经度为您提供位置(城市,州)。我在数据库中有百分之一的半径。如果我的坐标为(31.424141,-82.017859),我想抓住最近的纬度和经度。我在查询 South_Latitude,North_Latitude,East_Longitude,West_Longitude 中有4个字段。纬度属于 South_Latitude,North_Latitude ,经度属于 East_Longitude,West_Longitude 。例如此示例

select top 1 * from zipsmee 
  where 31.424141 >= South_Latitude 
  AND North_Latitude>= 31.424141 
  AND -82.017859 >=East_Longitude 
  AND West_Longitude>=-82.017859 
  order by city ASC

上面的查询问题是,如果给定的纬度,经度落在范围之外,结果会返回NULL而不是返回null我想要最接近给定纬度的最近记录/行,经度

更新

上面的查询有一些条件语句,所以如果它不属于那个条件,它会给我一个null。我将检查这一点,如果我得到一个null,程序将转到第二个查询,在第二个查询中,我想获得纬度,经度最接近 South_Latitude,North_Latitude的行/记录,East_Longitude,West_Longitude 。一旦我下班,我会发布一些图片,如果有帮助的话。

0 个答案:

没有答案