codecamp

PL/SQL 比较运算符

比较运算符用于将一个表达式与另一个表达式作比较。结果始终为TRUE,FALSE或NULL。

比较运算符示例

运算符 描述 示例
LIKE LIKE运算符将字符,字符串或CLOB值与模式进行比较,如果值与模式匹配,则返回TRUE,否则返回FALSE 如果'Zara Ali' LIKE 'Z%A_i'返回一个布尔值true,而'Nuha Ali' LIKE'Z%A_i'返回一个布尔值。
BETWEEN BETWEEN运算符测试值是否在指定范围内。x BETWEEN a AND b表示x >= ax <= b 如果x = 10,那么在520之间则x返回truex510之间则x返回true,但是x1120之间返回false
IN IN运算符测试集成员数据。 x IN(set)表示x等于集合中的任何成员数据。 如果x ='m',则在('a','b','c')x返回false,而在('m','n','o')x返回true
IS NULL IS NULL运算符如果其操作数为NULL返回值为TRUE,如果不为NULL则返回FALSE。 涉及NULL值的比较总是产生NULL 如果x ='m',则is null'返回false

LIKE运算符

下面的示例程序测试LIKE运算符。 在这里使用一个小的过程procedure()来显示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

当上述代码在SQL提示下执行后,会产生以下结果 -

True 
False  

PL/SQL procedure successfully completed.
Shell

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

当上述代码在SQL提示符下执行时,它会产生以下结果 -

True 
True 
False 

PL/SQL procedure successfully completed.
SQL

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

当上述代码在SQL提示符下执行时,它会产生以下结果 -

False
True
False

PL/SQL procedure successfully completed.

 




PL/SQL 关系运算符
PL/SQL 运算符优先级
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }