Oracle查询中= +的含义是什么

zib*_*bib 4 sql oracle plsql

通常在C++编程语言中,加法意味着在下面的示例中添加

int x;
x += 1;
Run Code Online (Sandbox Code Playgroud)

但是在plsql查询中,我对同样的用法感到困惑.这种用法并不意味着添加.在那种情况下,= +是什么意思?

Select c.* From alf_numeric a, run_of_id b, tail_of_st c 
WHERE category_id IN(33,36) AND a.flow_id =+ b.flow_id 
Run Code Online (Sandbox Code Playgroud)

任何的想法?

ype*_*eᵀᴹ 8

这个:

...
FROM alf_numeric a, run_of_id b 
WHERE a.flow_id = b.flow_id (+)
Run Code Online (Sandbox Code Playgroud)

意思是:

...
FROM alf_numeric a
  LEFT JOIN run_of_id b 
    ON a.flow_id = b.flow_id 
Run Code Online (Sandbox Code Playgroud)

我的猜测是:

a.flow_id =+b.flow_id 
Run Code Online (Sandbox Code Playgroud)

被解析为(简单):

a.flow_id = (+b.flow_id)
Run Code Online (Sandbox Code Playgroud)

所以是这样的:

a.flow_id = b.flow_id  
Run Code Online (Sandbox Code Playgroud)

  • @ypercube:不,你说得对.操作员不会更改标志.它没有效果. (3认同)
  • @Codo:`+`运算符在哪里做这样的事情?在我所知的任何语言中 - 尤其不是C++和(MS)SQL,它的行为与Oracle中的行为相同吗? (2认同)