POLYGON
📄字数 663
👁️阅读量 加载中...
功能描述
将其他几何类型转换为多边形类型,或通过指定圆心和边数生成近似圆的多边形。
语法格式
sql
POLYGON(expr1[,expr2])
输入参数
expr1
:支持BOX
,CIRCLE
,PATH
,CHAR
和INTEGER
类型,为INTEGER
类型时,必须指定expr2
。expr2
:可选参数,默认为空,不为空时,其类型必须是CIRCLE
。
提示
- 因
NULL
无具体的类型,所以当expr1
为NULL
时且只有一个参数,会产生异常E10100 候选函数出现多义性
,需要手动为参数指定具体的类型,如:POLYGON(NULL::CHAR)
。
输出结果
输出结果为POLYGON
类型,输入不同类型的几何对象时,输出如下表:
参数1 | 参数2 | 输出 |
---|---|---|
BOX | - | 将BOX转换为4点多边形 |
CIRCLE | - | 将CIRCLE 转换为12点多边形 |
PATH | - | 将封闭路径转换为具有相同点列表的多边形 |
CHAR | - | 将字符串转换为多边形 |
INTEGER | CIRCLE | 将CIRCLE 转换为N点多边形 |
示例
sql
-- 将`BOX`转换为4点多边形
SQL> SELECT POLYGON(BOX('(1,1),(0,0)')) FROM dual;
+---------------------------+
| EXPR1 |
+---------------------------+
| ((0,0),(0,1),(1,1),(1,0)) |
+---------------------------+
-- 将`CIRCLE`转换为12点多边形。
SQL> SELECT POLYGON(4, CIRCLE('<(3,0),1>')) FROM dual;
+-------------------------------------------------+
| EXPR1 |
+-------------------------------------------------+
| ((2,0),(3,1),(4,1.2246467991473532e-16),(3,-1)) |
+-------------------------------------------------+
-- 将封闭路径转换为具有相同点列表的多边形。
SQL> SELECT POLYGON(PATH('(0,0),(1,1),(2,0)')) FROM dual;
+---------------------+
| EXPR1 |
+---------------------+
| ((0,0),(1,1),(2,0)) |
+---------------------+
-- 将字符串转换为多边形。
SQL> SELECT POLYGON('(0,0),(1,1),(2,0)') FROM dual;
+---------------------+
| EXPR1 |
+---------------------+
| ((0,0),(1,1),(2,0)) |
+---------------------+