PL/SQL - 关系运算符

  • 简述

    关系运算符比较两个表达式或值并返回布尔结果。下表显示了 PL/SQL 支持的所有关系运算符。让我们假设变量 A 持有 10 和 变量 B 持有 20,然后 -
    操作员 描述 例子
    = 检查两个操作数的值是否相等,如果是,则条件为真。 (A = B) 是不正确的。

    !=

    <>

    ~=

    检查两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 是真的。
    > 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 不正确。
    < 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 是真的。
    >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 不是真的。
    <= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件成立。 (A <= B) 为真
  • 例子

    
    DECLARE 
       a number (2) := 21; 
       b number (2) := 10; 
    BEGIN 
       IF (a = b) then 
          dbms_output.put_line('Line 1 - a is equal to b'); 
       ELSE 
          dbms_output.put_line('Line 1 - a is not equal to b'); 
       END IF;  
       IF (a < b) then 
          dbms_output.put_line('Line 2 - a is less than b'); 
       ELSE 
          dbms_output.put_line('Line 2 - a is not less than b'); 
       END IF; 
        
       IF ( a > b ) THEN 
          dbms_output.put_line('Line 3 - a is greater than b'); 
       ELSE 
          dbms_output.put_line('Line 3 - a is not greater than b'); 
       END IF;  
       -- Lets change value of a and b 
       a := 5; 
       b := 20; 
       IF ( a <= b ) THEN 
          dbms_output.put_line('Line 4 - a is either equal or less than b'); 
       END IF; 
       IF ( b >= a ) THEN 
          dbms_output.put_line('Line 5 - b is either equal or greater than a'); 
       END IF;
       IF ( a <> b ) THEN 
          dbms_output.put_line('Line 6 - a is not equal to b'); 
       ELSE 
          dbms_output.put_line('Line 6 - a is equal to b'); 
       END IF;  
    END; 
    / 
    
    在 SQL 提示符下执行上述代码时,会产生以下结果 -
    
    Line 1 - a is not equal to b 
    Line 2 - a is not less than b 
    Line 3 - a is greater than b 
    Line 4 - a is either equal or less than b 
    Line 5 - b is either equal or greater than a 
    Line 6 - a is not equal to b  
    PL/SQL procedure successfully completed