关系运算符比较两个表达式或值,并返回一个布尔结果。下表列出了所有PL/SQL支持的关系运算符。假设变量A=10,变量B=20,则:
| 运算符 | 描述 | 示例 |
|---|---|---|
| = | 检查两个操作数的值是否相等,如果是的话那么条件为真。 | (A = B) 结果为 false. |
|
!= <> ~= |
检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | (A != B) 结果为 true. |
| > | 检查左边的操作数的值是否大于右操作数的值,如果是的话那么条件为真。 | (A > B) 结果为 false. |
| < | 检查左边的操作数的值是否小于右操作数的值,如果是的话那么条件为真。 | (A < B) 结果为 true. |
| >= | 检查左边的操作数的值是否大于或等于右操作数的值,如果是的话那么条件为真。 | (A >= B) 结果为 false. |
| <= | 检查左边的操作数的值是否小于或等于右操作数的值,如果是的话那么条件为真。 | (A <= B) 结果为 true. |
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