gpt4 book ai didi

mysql - Firebird 数据库上的 Haversine 公式

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:54 25 4
gpt4 key购买 nike

我将以下 sql 用于 mySQL,但我现在需要将其用于 Firebird 数据库。我已经搜索并阅读了 Firebird 文档,但似乎无法找到替代方案。在 Firebird 中,不支持“弧度”和“限制”。有没有人在 Firebird 中成功做过类似的事情?

SELECT zip, ( 3959 * acos( cos( radians(38.6285426) ) * cos( radians( lat ) ) 
* cos( radians( lng ) - radians(-86.05296039999999) ) + sin( radians(38.6285426) ) * sin(radians(lat)) ) ) AS distance
FROM zipcodes
HAVING distance < 25
ORDER BY distance
LIMIT 0 , 20;

最佳答案

mySQL 中的 radians 函数“返回参数 X,从度数转换为弧度”。您不需要内置函数来执行此操作,这是相当简单的数学运算:radians = degrees × π/180º。您可以创建一个方便的 View ,其中包含用于 deg-to-rad 转换的计算列,以使查询更易于阅读。顺便说一句,Firebird 有 builtin function for retrieving π value .

代替 LIMIT Firebird supports ROWS syntax :

SELECT <columns> FROM ...
[WHERE ...]
[ORDER BY ...]
ROWS <m> [TO <n>]

关于mysql - Firebird 数据库上的 Haversine 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38733328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com