关系运算符比较两个表达式或值,并返回一个布尔结果。 下表显示了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