Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL „И“ или „ИЛИ“ е на първо място?

И има по-висок приоритет от ИЛИ:

От документи на Oracle 12.1 (приоритетът за И и ИЛИ е в съответствие с поне версия 7 - вероятно още, но нямам връзки към документация)

Предишни версии:

  • Версия 8
  • Версия 7

Приоритетите на оператора са показани в следващия списък, от най-висок приоритет до най-нисък. Операторите, които са показани заедно на линия, имат същия приоритет.

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), :=

Въпреки това бих СИЛНО насърчил използването на скоби както за яснота, така и за ГАРАНТИРАНЕ, че операторите се оценяват в реда, който възнамерявате.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите информация от потребителя по време на изпълнение

  2. V$SQL_SHARED_CURSOR TOP_LEVEL_RPI_CURSOR

  3. Може ли някой да обясни какво наистина прави изявлението MERGE в Oracle?

  4. ORA-16789:дневниците за повторно изпълнение в режим на готовност са конфигурирани неправилно

  5. Локална временна таблица в Oracle 10 (за обхвата на съхранената процедура)