首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用欧几里德距离度量查询距离

使用欧几里德距离度量查询距离
EN

Stack Overflow用户
提问于 2016-10-20 11:20:17
回答 1查看 785关注 0票数 0

我目前正在尝试创建一个查询,该查询将使用给定的经纬度值来计算两个点之间的距离。到目前为止,我已经构造了一个查询,但遇到了几个错误,并且不确定我是否在正确的路径上!任何指导或建议都将不胜感激。我是甲骨文新手。

到目前为止的代码:

代码语言:javascript
复制
DECLARE
  lat NUMBER := -12;
  lon NUMBER := 130;
BEGIN
SELECT x_id
FROM x
WHERE x_id = sqrt(power(lat - latitude, 2) + (lon - longitude, 2))
END;  
/

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2016-10-20 14:58:12

在您的匿名块中使用了简单的SQL语句。您需要使用一个变量来接收查询返回的值。

计算经度时缺少幂函数。

此外,查询末尾缺少分号';‘。

代码语言:javascript
复制
SET SERVEROUTPUT ON
DECLARE
  lat NUMBER := -12;
  lon NUMBER := 130;
  lv_id NUMBER;
BEGIN
SELECT x_id INTO lv_id
FROM x
WHERE x_id = sqrt(power(lat - latitude, 2) + power(lon - longitude, 2));
dbms_output.put_line('ID : '||lv_id);
EXCEPTION
WHEN no_data_found THEN
   dbms_output.put_line('ID Not Found');
WHEN too_many_rows THEN
   dbms_output.put_line('More than one ID Not Found');
END;  
/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40144864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档