PostgreSQL中的加法等于运算符是什么



在Oracle SQL中,有一个(+(=运算符用于添加equals。

我一直在网上搜索,但找不到PostgreSQL语法的等价物,这个操作符在PostgreSQL中存在吗?如果没有,我将如何实现相同的功能?

提前谢谢。

OUTER JOIN在PostgreSQL中有文档记录。

这也记录在Oracle SQL参考中,其中写道:

Oracle建议您使用FROM子句OUTER JOIN语法而不是Oracle联接运算符。使用Oracle联接运算符(+(受以下规则约束,并且限制,不适用于FROM子句OUTER JOIN语法:

不能在同时包含FROM子句联接语法的查询块中指定(+(运算符。

(+(运算符只能出现在WHERE子句中,或者在左相关的上下文中(当指定TABLE子句时(FROM子句,并且只能应用于表或视图的列。

如果A和B由多个联接条件联接,则必须在所有这些条件中使用(+(运算符。如果你没有,那么Oracle数据库将只返回由加入,但没有警告或错误通知您不要具有外部联接的结果。

如果在外部查询中指定一个表,而在内部查询中指定另一个表则(+(运算符不会生成外部联接。

NB:在Oracle PL/SQL中既没有+=也没有+:=运算符:

SQL> declare
2  i numeric := 0;
3  begin
4   i+:=1;
5  end;
6  /
i+:=1;
*
ERROR at line 4:
ORA-06550: line 4, column 3:
PLS-00103: Encountered the symbol "+" when expecting one of the following:
:= . ( @ % ;
The symbol "+" was ignored.

SQL> --
SQL> declare
2  i numeric := 0;
3  begin
4   i+=1;
5  end;
6  /
i+=1;
*
ERROR at line 4:
ORA-06550: line 4, column 3:
PLS-00103: Encountered the symbol "+" when expecting one of the following:
:= . ( @ % ;

SQL> show errors
No errors.
SQL> --
SQL> declare
2  i numeric := 0;
3  begin
4   i := i + 1;
5  end;
6  /
PL/SQL procedure successfully completed.
SQL> 

最新更新