比較運(yùn)算符用于一個(gè)表達(dá)比較到另一個(gè)。結(jié)果總是 TRUE,F(xiàn)ALSE或NULL。
運(yùn)算符 | 描述 | 示例 |
---|---|---|
LIKE | LIKE操作一個(gè)字符,字符串或CLOB值進(jìn)行比較匹配模式則返回TRUE,如果不匹配模式則FALSE | 如果 'Zara Ali' like 'Z% A_i' 返回一個(gè)布爾值true, 然而, 'Nuha Ali' like 'Z% A_i' 返回布爾值 false |
BETWEEN | BETWEEN 運(yùn)算符測(cè)試一個(gè)值是否位于規(guī)定的范圍內(nèi). 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運(yùn)算符的測(cè)試設(shè)置成員. x IN (set) 意味著x等于集合中的某一個(gè)成員 | 如果 x = 'm' then, x in ('a', 'b', 'c') 返回布爾值false,但x在('m', 'n', 'o') 返回布爾值 true. |
IS NULL | IS NULL運(yùn)算符返回布爾值true,如果它的操作數(shù)是NULL或FALSE(如果它不為NULL)。包括NULL值的比較總能取得NULL | 如果 x = 'm', 那么 'x is null' 返回布爾值false |
這個(gè)程序測(cè)試LIKE運(yùn)算符,將學(xué)習(xí)如何在PL/ SQL程序使用,但這里用一個(gè)程序來顯示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; /
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
True False PL/SQL procedure successfully completed.
下面的程序顯示了運(yùn)算符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; /
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
True True False PL/SQL procedure successfully completed.
下面的程序顯示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; /
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
False True False PL/SQL procedure successfully completed.