STLength (geography Data Type)
Applies to: SQL Server (all supported versions) Azure SQL Database
Returns the total length of the elements in a geography instance or the geography instances within a GeometryCollection.
.STLength ( )
To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.
SQL Server return type: float
CLR return type: SqlDouble
If a geography instance is closed, its length is calculated as the total length around the instance; the length of any polygon is its perimeter, and the length of a point is 0. The length of a GeometryCollection is found by calculating the sum of the lengths of all of the geography instances contained within the collection.
STLength() works on both valid and invalid LineStrings. Typically a LineString is invalid due to overlapping segments, which may be caused by anomalies such as inaccurate GPS traces. STLength() does not remove overlapping or invalid segments. It includes overlapping and invalid segments in the length value that it returns. The MakeValid() method can remove overlapping segments from a LineString.
The following example creates a
LineString instance and uses
STLength() to find the length of the instance.
DECLARE @g geography; SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326); SELECT @g.STLength();