ST_PointN 使用線串和整數指標並傳回一個點, 這個點是此線串路徑中的第 n 個頂點。
語法
db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)
回覆類型
db2gse.ST_Point
範例
下列 CREATE TABLE 陳述式建立 POINTN_TEST 表格,它有兩個直欄:一個是唯一識別每一列的 GID 直欄,一個是 LN1 線串直欄。
CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString)
下列 INSERT 陳述式插入兩個線串值。第一個線串沒有 Z 座標或測量,第二個線串有 Z 座標和測量。
INSERT INTO POINTN_TEST VALUES(1, db2gse.ST_LineFromText('linestring (10.02 20.01,23.73 21.92,30.10 40.23)', db2gse.coordref()..srid(0))) INSERT INTO POINTN_TEST VALUES(2, db2gse.ST_LineFromText('linestring zm (10.02 20.01 5.0 7.0,23.73 21.92 6.5 7.1,30.10 40.23 6.9 7.2)', db2gse.coordref()..srid(0)))
下列 SELECT 陳述式和對應的結果集列示 GID 直欄和每一個線串的第二個頂點。 第一列產生一個點但沒有 Z 座標或測量,第二列產生一個含有 Z 座標和測量的點。 ST_PointN 函數傳回一些含有 Z 座標或測量的點 (若這些點存在於來源線串)。
SELECT gid, CAST(db2gse.ST_AsText(db2gse.ST_PointN(ln1,2)) AS varchar(60)) "The 2nd vertice" FROM POINTN_TEST GID The 2nd vertice ----------- ------------------------------------------------------------ 1 POINT ( 23.73000000 21.92000000) 2 POINT ZM ( 23.73000000 21.92000000 7.00000000 7.10000000) 2 record(s) selected.