STDistance (geography 資料類型)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

傳回a geography 執行個體中的點與另一個 geography 執行個體中的點之間的最短距離。

注意

STDistance() 會傳回兩個 geography 型別之間的最短 LineString。 這是地理距離的近似值。 通用地球模型上 STDistance() 與實際地理距離的偏差不大於 .25%。 這可避免地理類型中長度與距離細微差異的混淆。

Syntax

  
.STDistance ( other_geography )  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

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);  

另請參閱

地理位置例項上的 OGC 方法