- Categories:
ST_LENGTH¶
Returns the geodesic length of the LineString(s) in a GEOGRAPHY object or the Euclidean length of the LineString(s) in a GEOMETRY object.
Syntax¶
ST_LENGTH( <geography_or_geometry_expression> )
Arguments¶
geography_or_geometry_expression
The argument must be of type GEOGRAPHY or GEOMETRY.
Returns¶
Returns a REAL value, which represents the length in meters.
Usage Notes¶
If
geography_or_geometry_expression
is not a LineString, MultiLineString, or GeometryCollection containing linestrings, ST_LENGTH returns 0.If
geography_or_geometry_expression
is a GeometryCollection, ST_LENGTH returns the sum of the lengths of the linestrings in the collection.If you want the perimeter length of a polygon, use the ST_PERIMETER function instead.
Examples¶
GEOGRAPHY Examples¶
This shows the length in meters of one degree of arc at the equator:
SELECT ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')); +---------------------------------------------------------+ | ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')) | |---------------------------------------------------------| | 111195.101177484 | +---------------------------------------------------------+
GEOMETRY Examples¶
The following example demonstrates how to use the ST_LENGTH function.
SELECT ST_LENGTH(g), ST_ASWKT(g) FROM (SELECT TO_GEOMETRY(column1) AS g FROM VALUES ('POINT(1 1)'), ('LINESTRING(0 0, 1 1)'), ('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));+--------------+--------------------------------+ | ST_LENGTH(G) | ST_ASWKT(G) | |--------------+--------------------------------| | 0 | POINT(1 1) | | 1.414213562 | LINESTRING(0 0,1 1) | | 0 | POLYGON((0 0,0 1,1 1,1 0,0 0)) | +--------------+--------------------------------+