oracle9中的运算符优先级

oracle9中的运算符优先级,oracle,Oracle,有人知道Oracle 9和Oracle 10之间的操作员优先权是否有一些重大变化吗 与10相比,和/或在9中的处理方式似乎有所不同。根据手册,和中的条件优先级没有区别。(假设您指的是条件,而不是运算符。对于运算符,情况相同,只是10g有一个新运算符,connect\u by\u root) 以下是优先级,从高到低排列: SQL operators are evaluated before SQL conditions =, !=, <, >, <=, >=, IS [NO

有人知道Oracle 9和Oracle 10之间的操作员优先权是否有一些重大变化吗


与10相比,和/或在9中的处理方式似乎有所不同。

根据手册,和中的条件优先级没有区别。(假设您指的是条件,而不是运算符。对于运算符,情况相同,只是10g有一个新运算符,
connect\u by\u root

以下是优先级,从高到低排列:

SQL operators are evaluated before SQL conditions
=, !=, <, >, <=, >=,
IS [NOT] NULL, LIKE, [NOT] BETWEEN, [NOT] IN, EXISTS, IS OF type
NOT
AND
OR
SQL运算符在SQL条件之前进行求值
=, !=, =,
IS[NOT]NULL,如[NOT]BETWEEN[NOT]IN,存在,类型为
不
及
或
正如@Rajesh Chamarthi所提到的,更改此选项将导致各种问题,而且我从未遇到版本之间的优先级差异


但是,如果有一些特定的bug,或者一些罕见的含糊不清的语句被区别对待,我也不会感到惊讶。

9I和10G都具有和作为比或更高的优先级(根据这些URL)

此URL确实列出了PL/SQL编译器中的一些更改 评估,但变更与和或无关:

参考(和或评估):

10G:

PL/SQL PL/SQL计算布尔表达式时,NOT具有最高优先级, 和具有次高优先级,和或具有最低优先级。 但是,可以使用括号替代默认运算符优先级

9I: 最高: **, +, -, *, /, +, -, ||, =, =, !=, ~=, ^=,
是空的,比如,介于之间,IN,NOT,AND,或者

我真的怀疑Oracle会改变像运算符优先级这样重要的东西。想想它会对现有代码造成的所有问题!