STDistance (geography 資料類型)
適用於:Microsoft Fabric 中的 SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
SQL 資料庫
傳回a geography 執行個體中的點與另一個 geography 執行個體中的點之間的最短距離。
注意
STDistance()
會傳回兩個 geography 型別之間的最短 LineString。 這是地理距離的近似值。 通用地球模型上 STDistance()
與實際地理距離的偏差不大於 .25%。 這可避免地理類型中長度與距離細微差異的混淆。
語法
.STDistance ( other_geography )
引數
other_geography
這是另一個 geography 執行個體,用來測量它與 STDistance() 叫用所在之執行個體之間的距離。 如果 other_geography 為空白集合,STDistance() 會傳回 null。
傳回型別
SQL Server 傳回類型:float
CLR 傳回類型:SqlDouble
備註
陳述結果的測量單位,由空間資料的空間參考識別碼 (SRID) 定義。 如果 geography 執行個體的空間參考識別碼 (SRID) 不相符,STDistance() 一定會傳回 null。
注意
geography 資料型別上計算區域或距離的方法將會根據此方法中使用之執行個體的 SRID,而傳回不同的結果。 如需有關 SRID 的詳細資訊,請參閱空間參考識別碼 (SRID)。
範例
下列範例會求得兩個 geography 執行個體之間的距離。
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SET @h = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.STDistance(@h);