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.