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.