Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


BOX

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

功能描述

计算参数的值,返回一个矩形框。

语法格式

sql
BOX(expr1[, expr2])

输入参数

  • expr1CIRCLEPOINTPOLYGONCHAR 类型。
  • expr2POINT 类型,当指定 expr2 时,expr1 只能是 POINT 类型。

提示

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

输出结果

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

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

参数1参数2输出结果
CIRCLE-计算圆的内切矩形
POINT-将点转换为空框
POLYGON-计算多边形的边界框
CHAR-将字符串转为矩形框
POINTPOINT将任意两个点转换为框

示例

sql
-- 将圆形转换为矩形,返回CIRCLE内切正方形的BOX
SQL> SELECT BOX(CIRCLE('<(0, 0), 1>'));

+-----------------------------------------------------------------------------------+
|                                       EXPR1                                       |
+-----------------------------------------------------------------------------------+
| (0.7071067811865475,0.7071067811865475),(-0.7071067811865475,-0.7071067811865475) |
+-----------------------------------------------------------------------------------+

-- 将任意两个点转换为框
SQL> SELECT BOX(POINT('(0, 1)'), POINT('(1, 0)'));

+-------------+
|    EXPR1    |
+-------------+
| (1,1),(0,0) |
+-------------+

-- 计算多边形的边界框
SQL> SELECT BOX(POLYGON('((0, 0), (1, 1), (2, 0))'));

+-------------+
|    EXPR1    |
+-------------+
| (2,1),(0,0) |
+-------------+