oracle plsql存储过程_运算符优先级

SQL> declare
  2  v_a integer;
  3  v_b integer;
  4  begin
  5  if v_a is null or 2=2 and not v_b='hshsl' then
  6  dbms_output.put_line('测试一个表达式中同时存在or和and,且and在后的运算优先级');
  7  end if;
  8  end;
  9  /

测试一个表达式中同时存在or和and,且and在后的运算优先级

PL/SQL procedure successfully completed

测试结论:
     在同时存在or与and的表达式中,且and位于or其后,and其后的表达式是否为true及
  false,不会影响最终表达式的结果

------------------------------------

SQL> declare
  2  v_a integer;
  3  v_b integer;
  4  begin
  5  if v_a is null or v_b is not null then
  6  dbms_output.put_line('对于or,只要一个符合,是否其所在表达式就是true呢,即使另一半不符合(即是false)');
  7  end if;
  8  end;
  9  /

对于or,只要一个符合,是否其所在表达式就是true呢,即使另一半不符合(即是false)

PL/SQL procedure successfully completed
请使用浏览器的分享功能分享到微信等