- PL/SQL 教程
- PL/SQL - 首页
- PL/SQL - 概述
- PL/SQL - 环境
- PL/SQL - 基本语法
- PL/SQL - 数据类型
- PL/SQL - 变量
- PL/SQL - 常量和字面量
- PL/SQL - 运算符
- PL/SQL - 条件语句
- PL/SQL - 循环语句
- PL/SQL - 字符串
- PL/SQL - 数组
- PL/SQL - 过程
- PL/SQL - 函数
- PL/SQL - 游标
- PL/SQL - 记录
- PL/SQL - 异常处理
- PL/SQL - 触发器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事务
- PL/SQL - 日期和时间
- PL/SQL - DBMS 输出
- PL/SQL - 面向对象
- PL/SQL 有用资源
- PL/SQL - 问答
- PL/SQL - 快速指南
- 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 且 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',则 x in ('a', 'b', 'c') 返回布尔值 false,但 x in ('m', 'n', 'o') 返回布尔值 true。 |
IS NULL | IS NULL 运算符如果其操作数为 NULL 则返回布尔值 TRUE,如果不为 NULL 则返回 FALSE。涉及 NULL 值的比较始终产生 NULL。 | 如果 x = 'm',则 'x 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 提示符下执行上述代码时,将产生以下结果:
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 运算符的用法:
ECLARE 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.
plsql_operators.htm
广告