PL/SQL 比較運(yùn)算符

2022-08-10 11:15 更新

比較運(yùn)算符用于將一個(gè)表達(dá)式與另一個(gè)表達(dá)式作比較。結(jié)果始終為TRUE,F(xiàn)ALSE或NULL。

比較運(yùn)算符示例

運(yùn)算符 描述 示例
LIKE LIKE運(yùn)算符將字符,字符串或CLOB值與模式進(jìn)行比較,如果值與模式匹配,則返回TRUE,否則返回FALSE 如果'Zara Ali' LIKE 'Z%A_i'返回一個(gè)布爾值true,而'Nuha Ali' LIKE'Z%A_i'返回一個(gè)布爾值。
BETWEEN BETWEEN運(yùn)算符測(cè)試值是否在指定范圍內(nèi)。x BETWEEN a AND b表示x >= ax <= b。 如果x = 10,那么在520之間則x返回true,x510之間則x返回true,但是x1120之間返回false。
IN IN運(yùn)算符測(cè)試集成員數(shù)據(jù)。 x IN(set)表示x等于集合中的任何成員數(shù)據(jù)。 如果x ='m',則在('a','b','c')x返回false,而在('m','n','o')x返回true。
IS NULL IS NULL運(yùn)算符如果其操作數(shù)為NULL返回值為TRUE,如果不為NULL則返回FALSE。 涉及NULL值的比較總是產(chǎn)生NULL。 如果x ='m',則is null'返回false 。

LIKE運(yùn)算符

下面的示例程序測(cè)試LIKE運(yùn)算符。 在這里使用一個(gè)小的過(guò)程procedure()來(lái)顯示LIKE運(yùn)算符的功能 -

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

當(dāng)上述代碼在SQL提示下執(zhí)行后,會(huì)產(chǎn)生以下結(jié)果 -

True 
False  

PL/SQL procedure successfully completed.
Shell

BETWEEN運(yùn)算符

以下程序顯示BETWEEN運(yùn)算符的用法 -

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

當(dāng)上述代碼在SQL提示符下執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -

True 
True 
False 

PL/SQL procedure successfully completed.
SQL

IN和IS NULL運(yùn)算符

以下程序顯示IN和IS NULL運(yùn)算符的用法 -

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

當(dāng)上述代碼在SQL提示符下執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -

False
True
False

PL/SQL procedure successfully completed.

 




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)