ST_IsClosed 接受线条或多线条,若该线条是封闭的,则返回 1 (TRUE); 否则,它返回 0 (FALSE)。
语法
db2gse.ST_IsClosed(c db2gse.ST_Curve)
db2gse.ST_IsClosed(mc db2gse.ST_MultiCurve)
返回类型
整数
示例
以下 CREATE TABLE 语句创建 CLOSED_LINESTRING 表,它有单个线条列。
CREATE TABLE CLOSED_LINESTRING (ln1 db2gse.ST_LineString)
以下 INSERT 语句将两个记录插入 CLOSED_LINESTRING 表。 第一个记录不是封闭的线条,而第二个记录则是。
INSERT INTO CLOSED_LINESTRING VALUES(db2gse.ST_LineFromText('linestring (10.02 20.01,10.32 23.98,11.92 25.64)', db2gse.coordref()..srid(0))) INSERT INTO CLOSED_LINESTRING VALUES(db2gse.ST_LineFromText('linestring (10.02 20.01,11.92 35.64,25.02 34.15, 19.15 33.94,10.02 20.01)', db2gse.coordref()..srid(0)))
以下 SELECT 语句和相应结果集显示 ST_IsClosed 函数的结果。 第一行返回 0,因为该线条不是封闭的;而第二行返回 1,因为该线条是封闭的。
SELECT db2gse.ST_IsClosed(ln1) "Is it closed" FROM CLOSED_LINESTRING Is it closed ------------ 0 1 2 record(s) selected.
以下 CREATE TABLE 语句创建 CLOSED_MULTILINESTRING 表,它具有单个多线条列。
CREATE TABLE CLOSED_MULTILINESTRING (mln1 db2gse.ST_MultiLineString)
以下 INSERT 语句将两个记录插入 CLOSED_MULTILINESTRING, 一个不封闭的多线条记录和一个封闭的多线条记录。
INSERT INTO CLOSED_MULTILINESTRING VALUES(db2gse.ST_MLineFromText('multilinestring ((10.02 20.01,10.32 23.98,11.92 25.64), (9.55 23.75,15.36 30.11))', db2gse.coordref()..srid(0))) INSERT INTO CLOSED_MULTILINESTRING VALUES(db2gse.ST_MLineFromText('multilinestring ((10.02 20.01,11.92 35.64,25.02 34.15, 19.15 33.94,10.02 20.01), (51.71 21.73,73.36 27.04,71.52 32.87, 52.43 31.90,51.71 21.73))', db2gse.coordref()..srid(0)))
以下 SELECT 语句和相应结果集显示 ST_IsClosed 函数的结果。 第一行返回 0,因为该多线条不是封闭的;而第二行返回 1,因为该多线条是封闭的。 若多线条的所有线条元素是封闭的,则该多线条是封闭的。
SELECT db2gse.ST_IsClosed(mln1) "Is it closed" FROM CLOSED_MULTILINESTRING Is it closed ------------ 0 1 2 record(s) selected.