PLSQL 运算符

一、控制结构
1.比较运算符
1>.AND
BEGIN
IF 1=1 AND 2=2 THEN
 DBMS_OUTPUT.PUT_LINE('TRUE');
END IF;
END

2>.BETWEEN(包含边界)
BEGIN
  IF 1 BETWEEN 1 AND 3 THEN
  DBMS_OUTPUT.PUT_LINE('IN THE RANGE');
  END IF;
END;

3>IN
BEGIN
  IF 1 IN (1,2,3) THEN
  DBMS_OUTPUT.PUT_LINE('IN THE SET');
  END IF;
END;

4>IS EMPTY
检查VARRAY或NESTED TABLE集合变量是否为空,
只对使用标量SQL数据类型的集合起作用
DECLARE
  TYPE list IS TABLE OF INTEGER
  a LIST := list();
BEGIN
  IF a IS EMPTY THEN
  DBMS_OUTPUT.PUT_LINE('"a" is empty');
  END IF;
END;

5>IS NULL
DECLARE
  var BOOLEAN;
BEGIN
  IF var IS NULL THEN
  DBMS_OUTPUT.PUT_LINE('IT IS NULL');
  END IF;
END;

6>IS A SET
检查某个变量是否为VARRAY或NESTED TABLE集合变量,
如果变量数据类型是VARRAY或NESTED TABLE集合变量并且该变量已经构造,返回TRUE。
已构造意味着已经创建了不带成员或带有成员的集合实例,
只对使用标量SQL数据类型的集合起作用
DECLARE
  TYPE list IS TABLE OF INTEGER;
  a LIST := list();
BEGIN
  IF a IS A SET THEN
  DBMS_OUTPUT.PUT_LINE('"a" IS A SET');
  END IF;
END;

7>LIKE
下划线是单字符通配符,%是多字符通配符
BEGIN
  IF 'string' LIKE 'str%' THEN
  DBMS_OUTPUT.PUT_LINE('MATCH');
  END IF;
END;

8>MEMBER OF
检查某个元素是否是集合的成员,
只对标量SQL数据类型的集合起作用。
集合中存在此元素,返回TRUE,否则,返回FALSE
如果左操作数为NULL,就返回FALSE,这意味着应该总是在使用该运算符之前检查值
DECLARE
  TYPE list IS TABLE OF VARCHAR2(10);
  n VARCHAR2(10) := 'ONE';
  a LIST := list('ONE','TWE','THREE');
BEGIN
    IF n MEMBER OF a THEN
    DBMS_OUTPUT.PUT_LINE('"n" IS MEMBER');
    END IF;
END;

9>NOT
如果表达式或值为NULL,NOT运算符就不做改变,此时IF NULL 后面的代码不执行
BEGIN
  IF NOT FALSE THEN
  DBMS_OUTPUT.PUT_LINE('TRUE');
  END IF;
END;

10> OR
BEGIN
  IF 1=1 OR 1=2 THEN
  DBMS_OUTPUT.PUT_LINE('TRUE');
  END IF;
END;

11>SUBMULTISET
检查右值是否包含左值
DECLARE
  TYPE list IS TABLE OF INTEGER;
  a LIST := list(1,2,3);
  b LIST := list(1,2,3,4);
BEGIN
  IF a SUBMULTISET b THEN
  DBMS_OUTPUT.PUT_LINE('SUBSET');
  END IF;
END;

二、运算符
1       **                          指数
2       +,-                        正 负
3       *,/                        乘除
4       +,-,||                    加,减,串联
5       =,<,>,<=,>=,<>,!=,~=,^=,between,in,is null,like    比较
6       NOT                         逻辑非
7       AND                         逻辑与
8       OR                          逻辑或

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值