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

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

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

第 33 章 扩展 SQL:操作符

Postgres 支持左一元、右一元和二元操作符。操作符可以重载,即可用不同的参数数量和类型重复使用。如果出现歧义情况而系统无法确定该用哪个操作符,它会返回一个错误,你可能需要对左操作数和/或右操作数进行类型转换,帮助系统理解你想用哪个操作符。要创建一个把两个复数相加的操作符,可以按下面的方法做。首先我们需要创建一个对新类型做加法的函数,然后就可以用该函数创建操作符。

         CREATE FUNCTION complex_add(complex, complex)
            RETURNS complex
            AS '$PWD/obj/complex.so'
            LANGUAGE 'c';

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

我们在这里展示了如何创建二元操作符。要创建一元操作符,只需省略 leftarg(左一元)或 rightarg(右一元)之一即可。只要我们给系统足够的类型信息,它就能自动确定该用哪些操作符。

         SELECT (a + b) AS c FROM test_complex;

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

报告文档问题

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