我可以在函数中使用 STDistance 吗?

Can I use STDistance in a function?

我正在尝试计算两个坐标之间的距离,所以我想使用 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 中的一些变量并在那里进行计算。