適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 中的 SQL 資料庫
傳回 geometry 執行個體中元素的總長度。
Syntax
.STLength ( )
傳回型別
SQL Server 傳回類型:float
CLR 傳回類型:SqlDouble
Remarks
如果 geometry 執行個體為封閉式,它的長度會計算為此執行個體周圍的總長度;任何多邊形的長度即是其周長,點的長度則為 0。 任何 geometrycollection 類型的長度即是其包含之 geometry 執行個體的長度總和。
STLength() 可在有效與無效的 LineString 上運作。 一般而言,LineString 無效的原因是重疊的線段,而這可能是由不正確的 GPS 追蹤等異常所造成。 STLength() 不會移除重疊或無效的線段。 它會在所傳回的長度值中包含重疊和無效的線段。 MakeValid() 方法可以從 LineString 中移除重疊的線段。
Examples
下列範例會建立 LineString 執行個體,並使用 STLength() 來尋找此執行個體的長度。
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 0, 2 2, 1 0)', 0);
SELECT @g.STLength();