PL/SQL比較運算符

比較運算符

比較運算符用於一個表達比較到另一個。結果總是 TRUE,FALSE或NULL。

運算符

描述

示例

LIKE

LIKE操作一個字符,字符串或CLOB值進行比較匹配模式則返回TRUE,如果不匹配模式則FALSE

如果 'Zara Ali' like 'Z% A_i' 返回一個布爾值true, 然而, 'Nuha Ali' like 'Z% A_i' 返回布爾值 false

BETWEEN

BETWEEN 運算符測試一個值是否位於規定的範圍內. x BETWEEN a AND b 意思就是 x >= a and x <= b.

如果 x = 10 那麼  x between 5 and 20 返回 true, x between 5 and 10 返回 true, 但是 x between 11 and 20 返回 false

IN

IN運算符的測試設置成員. x IN (set) 意味着x等於集合中的某一個成員

如果  x = 'm' then, x in ('a', 'b', 'c') 返回布爾值false,但x在('m', 'n', 'o') 返回布爾值 true.

IS NULL

IS NULL運算符返回布爾值true,如果它的操作數是NULL或FALSE(如果它不爲NULL)。包括NULL值的比較總能取得NULL

如果  x = 'm', 那麼 'x is null' 返回布爾值false

LIKE 運算符:

這個程序測試LIKE運算符,將學習如何在PL/ SQL程序使用,但這裏用一個程序來顯示LIKE運算符的功能:

DECLARE PROCEDURE compare (value varchar2, pattern varchar2 ) is BEGIN IF value LIKE pattern THEN dbms_output.put_line ('True'); ELSE dbms_output.put_line ('False'); END IF; END; BEGIN compare('Zara Ali', 'Z%A_i'); compare('Nuha Ali', 'Z%A_i'); END; /

當上述代碼在SQL提示符執行時,它產生了以下結果:

True
False

PL/SQL procedure successfully completed.

BETWEEN運算符:

下面的程序顯示了運算符BETWEEN的用法:

DECLARE x number(2) := 10; BEGIN IF (x between 5 and 20) THEN dbms_output.put_line('True'); ELSE dbms_output.put_line('False'); END IF; IF (x BETWEEN 5 AND 10) THEN dbms_output.put_line('True'); ELSE dbms_output.put_line('False'); END IF; IF (x BETWEEN 11 AND 20) THEN dbms_output.put_line('True'); ELSE dbms_output.put_line('False'); END IF; END; /

當上述代碼在SQL提示符執行時,它產生了以下結果:

True
True
False

PL/SQL procedure successfully completed.

IN和IS NULL運算符:

下面的程序顯示IN和IS NULL運算符的用法:

DECLARE letter varchar2(1) := 'm'; BEGIN IF (letter in ('a', 'b', 'c')) THEN dbms_output.put_line('True'); ELSE dbms_output.put_line('False'); END IF; IF (letter in ('m', 'n', 'o')) THEN dbms_output.put_line('True'); ELSE dbms_output.put_line('False'); END IF; IF (letter is null) THEN dbms_output.put_line('True'); ELSE dbms_output.put_line('False'); END IF; END; /

當上述代碼在SQL提示符執行時,它產生了以下結果:

False
True
False

PL/SQL procedure successfully completed.