【发布时间】:2012-02-23 18:06:54
【问题描述】:
我正在尝试执行一个查询,当输入一个 long 和一个 lat 时,它会从数据库中返回一个 locId 列表。
这是 sql:
例如:lat = "-37.8333300" : lon = "145.000000" : radius = (5 * 0.621371192) ^ 2
SELECT locId,longitude,latitude FROM tbliplocations WHERE (69.1*([longitude]- "&lon&") * cos("&lat&"/57.3))^2 + (69.1*([latitude]- "&lat&"))^2 < "&radius
这是我收到的错误:
数据类型 float 和 int 在 '^' 运算符中不兼容。
我不确定解决方法,谁能指出正确的方向?
答案:
使用 SQL Server 2008 R2
SELECT city FROM tbliplocationsnew WHERE POWER((69.1*([longitude]- "&lon&") * cos("&lat&"/57.3)),2) + POWER((69.1*([latitude]- "&lat&")),2) < "&radius
【问题讨论】:
标签: sql vbscript latitude-longitude