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