我正在尝试修改最初为MySQL编写的脚本以与SQL Server 2014一起使用。虽然我理解错误背后的想法,但我不知道如何修复它。由于我看到的大多数问题都涉及到数字或来自数字,而且这两个都没有,我不知道从哪里开始。
该查询正在查看具有纬度和经度的邮政编码数据库,以确定具有特定半径的邮政编码(在这种情况下为10)。
select *
from tbl_zipCodes AS z
where
(SQRT((69.172 * (33.029167000000001 - z.latitude)) * (69.172 * (33.029167000000001 - z.latitude)) + (53.0 *(-97.068675999999996 - z.longitude)) * (53.0 *(-97.068675999999996 - z.longitude))) <= 10 )
非常感谢任何提示或帮助 - 我很乐意提供所需的任何其他信息。
以下是架构的简化版本:
id int NOT NULL PK
zipCode varchar(25) Checked
latitude varchar(500) Checked
longitude varchar(500) Checked
active bit Checked
邮政编码75028的样本数据。这是产生错误的数据,因此它应该是可重复的
76051 32.935290000000002 -97.068689000000006 1
76092 32.951594 -97.150991000000005 1
76205 33.188906000000003 -97.127021999999997 1
76210 33.145139999999998 -97.088560000000001 1
76226 33.115116 -97.162499999999994 1
76262 33.010711000000001 -97.216288000000006 1
75007 33.003920999999998 -96.895926000000003 1
75010 33.029434000000002 -96.897384000000002 1
75019 32.960099999999997 -96.982656000000006 1
75022 33.02861 -97.121368000000004 1
75056 33.072392000000001 -96.907000999999994 1
75057 33.047165999999997 -96.983309000000006 1
75063 32.919516999999999 -96.977421000000007 1
75065 33.115397999999999 -97.004728999999998 1
75067 33.01972 -96.991410000000002 1
75028 33.029167000000001 -97.068675999999996 1
75077 33.078944999999997 -97.077551999999997 1
75358 32.937800000000003 -96.790800000000004 1
再次感谢您的帮助!