Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


POLYGON

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

功能描述

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

语法格式

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点多边形

示例

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