我正在尝试构建一个商店定位器,并且无法形成我的sql语句。到目前为止,我有以下内容:
SELECT TOP 3 Custno
, ( 3959
* acos( cos( radians(36) )
* cos( radians( Latitude ) )
* cos( radians( Longitude ) - radians(120) )
+ sin( radians(120) ) * sin( radians( Latitude ) )
)
) AS distance
FROM Customers
ORDER BY distance
当我执行该陈述时,我得到:
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command.
The results, if any, should be discarded.
但是,当我删除order by子句以及更改order by子句以使用Custno时,查询仍然有效。导致此错误的原因是什么,我该如何避免?
答案 0 :(得分:2)
从SQL Server 2008开始,有一个Geography数据类型,专门用于这样的事情。这里有几个链接:
http://msdn.microsoft.com/en-us/library/ff929109.aspx http://blogs.msdn.com/b/isaac/archive/2008/10/23/nearest-neighbors.aspx