適用於:
Databricks SQL
Databricks Runtime 17.1 和更新版本
Important
這項功能目前處於 公開預覽版。
備註
這項功能不適用於 Databricks SQL Classic 倉儲。 若要深入瞭解 Databricks SQL 倉儲,請參閱 SQL 倉儲類型。
傳回輸入 GEOGRAPHY 或 GEOMETRY 值的長度。
Syntax
st_length ( geoExpr )
Arguments
-
geoExpr:GEOGRAPHY或GEOMETRY值。
Returns
一個型別為 DOUBLE 的值,表示輸入值 GEOGRAPHY 或 GEOMETRY 的長度。
如果輸入是 GEOGRAPHY 值,函式會傳回值的線性部分 GEOGRAPHY 的 2D 地理長度。
具體而言,函式會傳回行字串的地理長度,以及多行字元串中行字串長度的總和。
針對非線性地理位置(點、多邊形、多點和多個多邊形),會傳回 0,而對於幾何集合,函式會傳回集合中各個元素長度的總和。
結果是藉由假設使用 WGS84 橢球體進行反向大地計算得出的。
結果的單位為公尺。
如果輸入是 GEOMETRY 值,函式會傳回值的線性部分 GEOMETRY 的 2D 笛卡兒長度。
具體而言,函式會傳回 linestring 的 2D 笛卡兒長度,以及多行字串中行字串長度的總和。
針對非線性幾何類型(點、多邊形、多點和多多邊形)將傳回 0,而對於幾何集合,則會傳回集合中各個元素長度的總和。
結果的單位是與輸入 GEOMETRY 值相關的空間參考系統的單位。
如果任何輸入為 NULL,則函式會傳NULL回 。
Examples
-- Returns the length of a 2D Cartesian linestring.
> SELECT round(st_length(st_geomfromtext('LINESTRING(10 34,44 57,30 24)')), 8);
76.89564816