Skip to content

+

功能描述

+操作符在几何数据类型中有以下两种功能:

  • 平移,将第二个参数POINT的坐标添加到第一个对象的坐标中。适用于POINT、BOX、PATH、CIRCLE。

  • 连接两个打开的路径,如果其中一个路径是关闭的,则返回NULL。适用于PATH。

数据类型

L_OPERAND_TYP(左操作数类型)R_OPERAND_TYP(右操作数类型)RET_TYPE(返回类型)
POINTPOINTPOINT
BOXPOINTBOX
PATHPOINTPATH
CIRCLEPOINTCIRCLE
PATH(连接两个路径)PATHPATH

示例

平移

  • 平移POINT

    sql
    SELECT POINT('(2.0,0)') + POINT('(0,2.0)');
    EXPR1    |
    ---------+
    (2.0,2.0)|
  • 平移BOX

    sql
    SELECT BOX(POINT('(0,1)'),POINT('(1,0)')) + POINT('(0,2.0)');
    EXPR1              |
    -------------------+
    (1.0,3.0),(0.0,2.0)|
  • 平移PATH

    sql
    SELECT PATH('[(0,0),(1,1)]') + POINT('(0,2.0)');
    EXPR1                |
    ---------------------+
    [(0.0,2.0),(1.0,3.0)]|
  • 平移CIRCLE

    sql
    SELECT CIRCLE('<(3,4),2>') + POINT('(1,2)');
    EXPR1          |
    ---------------+
    <(4.0,6.0),2.0>|

连接路径

  • 连接两个打开的路径

    sql
    SELECT PATH('[(0,0),(1,1)]') + PATH('[(0,0),(-1,-1)]');
    EXPR1                                      |
    -------------------------------------------+
    [(0.0,0.0),(1.0,1.0),(0.0,0.0),(-1.0,-1.0)]|
  • 第二个路径为闭合路径,则返回NULL

    sql
    SELECT PATH('[(0,0),(1,1)]') + PATH('((1,0),(0,0),(-1,-1))');
    
    EXPR1 |
    ------------------------------------------------------------------------------
    <NULL> |
    
    Total 1 records.