位置:首頁 > 數據庫 > PL/SQL教學 > PL/SQL比較運算符

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.