Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


POLYGON

📄字数 778
👁️阅读量 加载中...

功能描述

将其他几何类型转换为多边形类型,或通过指定圆心和边数生成近似圆的多边形。​

语法格式

sql
POLYGON(expr1[,expr2])

输入参数

  • expr1:支持BOXCIRCLEPATHCHARINTEGER类型,为INTEGER类型时,必须指定expr2
  • expr2:可选参数,默认为空,不为空时,其类型必须是CIRCLE

提示

  • NULL 无具体的类型,所以当expr1NULL 时且只有一个参数,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:POLYGON(NULL::CHAR)

输出结果

输出结果为POLYGON类型,输入不同类型的几何对象时,输出如下表:

参数1参数2输出
BOX-将BOX转换为4点多边形
CIRCLE-CIRCLE转换为12点多边形
PATH-将封闭路径转换为具有相同点列表的多边形
CHAR-将字符串转换为多边形
INTEGERCIRCLECIRCLE转换为N点多边形

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

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)) |
+---------------------+