我创建了以下函数来计算两点之间的距离:
CREATE FUNCTION [fnCalcDistanceKM](@lat1 FLOAT, @lat2 FLOAT, @lon1 FLOAT, @lon2 FLOAT)
RETURNS FLOAT
AS
BEGIN
RETURN ACOS(SIN(PI()*@lat1/180.0)*SIN(PI()*@lat2/180.0)+COS(PI()*@lat1/180.0)*COS(PI()*@lat2/180.0)*COS(PI()*@lon2/180.0-PI()*@lon1/180.0))*6371
END
但是当我运行以下select语句时......我收到错误:
13.077085'附近的语法不正确。
select [fnCalcDistanceKM](13.077085,80.262675,13.065701,80.258916)
答案 0 :(得分:2)
您应该使用架构名称调用它:
select dbo.[fnCalcDistanceKM](13.077085,80.262675,13.065701,80.258916)
必须至少使用两部分来调用标量值函数 功能的名称。有关多部分名称的详细信息,请参阅 Transact-SQL语法约定(Transact-SQL)。
答案 1 :(得分:0)
试试这个:SELECT * from [dbo]。[fnCalcDistanceKM] 13.077085,80.262675,13.065701,80.258916)