oracle—运算符

作者: 慕凌峰 | 来源:发表于2016-06-13 17:35 被阅读759次

    一、PL/SQL表达式与运算符

    • 算数运算符
    运算符 含义
    +
    -
    *
    /
    ** 乘方
    • 逻辑运算符
    运算符 含义
    AND 两者同时为真,结果才为真
    OR 有一个为真,结果就为真
    NOT 取反
    • 比较运算符
    运算符 含义
    IS NULL 如果测试值为NULL,则返回值为true,否则为false
    LIKE 比较字符串,结合 % 进行模糊查询
    BETWEEN 测试值是否在指定的范围内
    IN 测试值是否在一系列的值中
    • 关系运算符
    运算符 含义
    = 等于
    != <> ~= 不等于
    < 、 <= 小于 小于等于
    > 、 >= 大于 大于等于
    • 连接运算符
    运算符 含义
    11 用于连接两个字符串

    二、控制结构

    • 顺序结构

    • 条件结构

      • if
      if 条件1 then
          执行语句1;
          执行语句2;
      end if;
      
      • if else
      if 条件1 then
          执行语句1;
          执行语句2;
      else if =条件2 then
          执行语句3;
      else 
          执行语句4;
      end if;
      
    • CASE 结构

    当分支比较多时,使用case分支比较方便

    ```sql
    case [表达式]
        when 条件1 then 结果1;
        when 条件2 then 结果2;
        ...
        else 结果;
    end;
    ```
    
    • 循环结构

      • loop

      如果不控制,oracle会一直执行loop之间的语句,陷入死循环

      loop 
          执行循环语句;
      end loop;
      
      • for
      for counter in 1..10 loop
          --测试一下,输出counter
          dbms_output.put_line(counter);
      end loop;    ```
      
      * when
      ```sql
      when i <= 10 loop
          dbms_output.put_line(i);
          i := i + 1;
      end loop;
      
    • exit 循环退出

      • 无条件退出

      执行到exit就直接退出循环,继续执行

      loop 
          执行语句;
          exit;
      end loop;
      
      • 有条件退出

      判断条件是否为true,当条件为true时,退出循环,继续执行。为false时,将继续执行循环语句

      loop 
          执行语句;
          exit when 条件1;
      end loop;
      
    • continue 继续循环

      • 无条件继续

      当碰到continue时,无条件的终止本次循环,开始下一次的循环

      loop
          执行语句1;
          continue;
          执行语句2;
      end loop;
      
      • 有条件继续

      当碰到continue时,判断条件是否为true,如果为true时,将终止本次循环,开始下一次的循环,如果为false,将继续本次循环

      loop
          执行语句1;
          continue when 条件;
          执行语句2;
      end loop;
      
    • goto语句

      declare
          m varchar2(20);
      begin
          m := 'AndyThink';
          <<lable1\>\>
          dbms_output.put_line(m);
          goto lable1;
      end;
      
      

    相关文章

      网友评论

        本文标题:oracle—运算符

        本文链接:https://www.haomeiwen.com/subject/vzvydttx.html