Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
返回 ST_MultiCurve 值的长度测量值。结果的测量单位通过参数指定。
multicurve-expression.ST_Length([ unit-name])
unit-name
VARCHAR(128)
长度计算单位。缺省值为空间参照系的单位。单位名称必须与 ST_UNITS_OF_MEASURE 视图中 UNIT_TYPE 为 'LINEAR' 的行的 UNIT_NAME 列匹配。
DOUBLE 返回 ST_MultiCurve 值的长度测量值。
ST_Length 方法返回以通过 unit-name 参数确定的单位表示的多曲线长度。多曲线的长度为所包含的曲线的长度总和。如果曲线为空,则返回 NULL。
如果曲线包含 Z 值,计算几何长度时不考虑这些值。
如果 multicurve-expression 是空几何 (ST_IsEmpty()=1),则此方法返回 NULL。
缺省情况下,如果几何的原始格式可用,ST_Length 将使用该格式。否则使用内部格式。有关内部和原始格式的详细信息,请参见STORAGE FORMAT 子句,CREATE SPATIAL REFERENCE SYSTEM 语句。
SQL/MM (ISO/IEC 13249-3: 2006) 9.3.4
以下示例创建多曲线,并使用 ST_Length 确定几何长度,返回值 PI+1。
SELECT NEW ST_MultiCurve( NEW ST_LineString('LineString (0 0, 1 0)' ), NEW ST_CircularString( 'CircularString( 0 0, 1 1, 2 0)' ) ) .ST_Length()
以下示例返回所有长度超过 100 英里的道路的名称和长度。本示例假设道路表存在,几何列具有类型 ST_MultiCurve 或 ST_MultiLineString,已使用 sa_install_feature 系统过程装载 st_geometry_predefined_uom。
SELECT name, geometry.ST_Length( 'Statute Mile' ) len FROM roads WHERE len > 100