It seems to me that the "+" part of "= +" is a non-op. Try the following statements:
CREATE TABLE test1 (v1 NUMBER); INSERT INTO test1(v1) VALUES (-1); INSERT INTO test1(v1) VALUES (1); CREATE TABLE test2(v2 NUMBER); INSERT INTO test2(v2) VALUES (-1); INSERT INTO test2(v2) VALUES (1); SELECT * FROM test1 t1 INNER JOIN test2 t2 ON (t1.v1 = t2.v2) WHERE t1.v1 =+ t2.v2;
which returns
V1 V2 -1 -1 1 1
Thus, it seems that the "+" operator does nothing, it just answers everything that is. As a test, follow these instructions:
SELECT V1, +V1 AS PLUS_V1, ABS(V1) AS ABS_V1, -V1 AS NEG_V1 FROM TEST1;
and you will find that it returns
V1 PLUS_V1 ABS_V1 NEG_V1 -1 -1 1 1 1 1 1 -1
which seems to confirm that unary + is effectively non-op.
Share and enjoy.
source share