sql >> Base de Datos >  >> RDS >> Oracle

SQL 'Y' o 'O' viene primero?

Y tiene mayor precedencia que O:

De los documentos de Oracle 12.1 (la precedencia para AND y OR es consistente al menos con la versión 7, probablemente más, pero no tengo enlaces de documentación)

Versiones anteriores:

  • Versión 8
  • Versión 7

Las precedencias de los operadores se muestran en la siguiente lista, desde la precedencia más alta hasta la más baja. Los operadores que se muestran juntos en una línea tienen la misma precedencia.

INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
= (assignment), :=

Sin embargo, recomendaría ENCARECIDAMENTE el uso de paréntesis tanto para mayor claridad como para ASEGURAR que los operadores se evalúen en el orden previsto.