Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


CIRCLE

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

功能描述

计算参数的值,返回一个圆。

语法格式

sql
CIRCLE(expr1[, expr2])

输入参数

  • expr1BOXCIRCLEPOINTPOLYGONCHAR 类型。
  • expr2:目标半径,DOUBLE 类型,当指定 expr2 时,expr1 只能是 POINT 类型。

提示

  • NULL 无具体的类型,所以当参数为 NULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:CIRCLE(NULL::BOX)
  • 当参数 expr1CHAR 类型时,合法格式为 '<(x1, y1), r1>',若格式错误,则报错[E17003 L1 C8] 数据格式错

输出结果

返回 CIRCLE 类型,输入参数为 NULL 时,输出结果为 NULL

根据输入参数类型的差异,输出结果代表不同的功能:

参数1参数2输出结果
BOX-计算最小的圆形包围框,返回边框的外接圆
POLYGON-将多边形转换为圆。圆心是多边形各点位置的平均值,半径是多边形各点到圆心的平均距离
CIRCLE-将圆转换为圆
CHAR-将字符串转换为圆
POINTDOUBLE以圆心和半径构造圆

示例

sql
-- 计算最小的圆形包围框,返回边框的外接圆
SQL> SELECT CIRCLE(BOX('(1, 1), (-1, -1)'));

+----------------------------+
|           EXPR1            |
+----------------------------+
| <(0,0),1.4142135623730951> |
+----------------------------+

-- 以圆心和半径构造圆
SQL> SELECT CIRCLE(POINT ('(3, 4)'), 2.0);

+-----------+
|   EXPR1   |
+-----------+
| <(3,4),2> |
+-----------+

-- 将多边形转换为圆。圆心是多边形各点位置的平均值,半径是多边形各点到圆心的平均距离
SQL> SELECT CIRCLE(POLYGON('((0, 0), (1, 3), (2, 0))'));

+----------------------------+
|           EXPR1            |
+----------------------------+
| <(1,1),1.6094757082487299> |
+----------------------------+