ST_IsRing 接受线条,若该线条为环(即该线条是封闭且简单的),则返回 1 (TRUE); 否则,它返回 0 (FALSE)。
语法
db2gse.ST_IsRing(c db2gse.ST_Curve)
返回类型
整数
示例
以下 CREATE TABLE 语句创建 RING_LINESTRING 表, 该表具有称作 LN1 的单个线条列。
CREATE TABLE RING_LINESTRING (ln1 db2gse.ST_LineString)
下列 INSERT 语句将三个线条插入 LN1 列。 第一行包含不封闭因此不是环的线条。 第二行包含封闭且简单因此是环的线条。 第三行包含封闭但不简单的线条,因为它与它自己的内部相交,因此不是环。
INSERT INTO RING_LINESTRING VALUES(db2gse.ST_LineFromText('linestring (10.02 20.01,10.32 23.98,11.92 25.64)', db2gse.coordref()..srid(0))) INSERT INTO RING_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))) INSERT INTO RING_LINESTRING VALUES(db2gse.ST_LineFromText('linestring (15.47 30.12,20.73 22.12,10.83 14.13, 16.45 17.24,21.56 13.37,11.23 22.56, 19.11 26.78,15.47 30.12)', db2gse.coordref()..srid(0)))
以下 SELECT 语句和相应结果集显示 ST_IsRing 函数的结果。 第一和第三行返回 0。 这是因为这两个线条不是环,而第二行返回 1,因为它是环。
SELECT db2gse.ST_IsRing(ln1) "Is it ring" FROM RING_LINESTRING Is it ring ----------- 0 1 0 3 record(s) selected.