SQLSERVER函数,算两个经纬度间的距离
CREATE FUNCTION getDistatce (@relat double,@p_lat double,@relng double,@p_lng double)
returns double
AS
BEGIN
DECLARE R double,distance double,dLat double,dLon double,a double;
SET R = 6371.0,distance = 0.0,dLat = (@relat - @p_lat)*PI() /180,dLon = (@relng - @p_lng)*PI() /180;
SET a = SIN(dLat/2)*SIN(dLat/2) + COS(@p_lat*PI()/180) *COS(@relat*PI()/180) *sin(dLon/2)*SIN(dLon/2);
SET distance = floor((2*ATAN(SQRT(a),SQRT(1-a)))*R*1000);
RETURN distance;
END
GO
这段函数是出错的 ,求大神修正或重新写一个函数
感谢各位