↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.3 / 7.2
历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.

14.2. 示例 #

下面是创建一个把两个复数相加的操作符的例子。我们假设已经创建过 complex 类型的定义(见第 13 章)。首先需要一个完成工作的函数,然后就可以定义操作符:

CREATE FUNCTION complex_add(complex, complex)
    RETURNS complex
    AS 'PGROOT/tutorial/complex'
    LANGUAGE C;

CREATE OPERATOR + (
    leftarg = complex,
    rightarg = complex,
    procedure = complex_add,
    commutator = +
);

现在我们可以这样做:

SELECT (a + b) AS c FROM test_complex;

        c
-----------------
 (5.2,6.05)
 (133.42,144.95)

我们在这里展示了如何创建二元操作符。要创建一元操作符,只需省略 leftarg(左一元)或 rightarg(右一元)之一即可。procedure 子句和参数子句是 CREATE OPERATOR 中仅有的必选项。例子中展示的 commutator 子句是给查询优化器的一个可选提示。关于 commutator 和其他优化器提示的更多细节见下文。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.