我正在尝试计算两个坐标之间的距离,所以我想使用STDistance。我可以在使用两个变量作为坐标的函数中使用STDistance吗?我试图在php中调用该函数,所以这就是为什么我希望它成为一个SQL函数。
CREATE FUNCTION measureDistance(@coordsFrom INT, @coordsTo INT)
RETURNS INT
AS
BEGIN
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('LINESTRING(@coordsFrom)', 4326);
SET @h = geography::STGeomFromText('LINESTRING(@coordsTo)', 4326);
RETURN @g.STDistance(@h);
END;
GO
您不能在SQL函数中使用PHP函数。但是,您可以从数据库中获取坐标,将其设置为PHP中的一些变量,并在那里进行计算。