• 2.运算符


            在 pl/sql 代码中,当定义了常量变量或描述符后,通常需要根据实际的业务逻辑执行一系列运算,这些运算由操作数和运算符构成的表达式来实现。操作数可以是变量常量描述或一个函数的调用,运算符定义了如何对操作符进行操作。

    1.   赋值运算符示例
    declare
       v_variable1 varchar2(200) :='this is a'; -- 定义变量变赋初值
       v_variable2 varchar2(100);    -- 定义变量
       v_result    varchar2(500);
       v_constant constant varchar2(10) :='constant'; -- 定义常量赋常量值
    begin
         v_variable2 :='variable'; -- 使用操作数为变量赋值
         v_result :=v_variable1 ||v_constant; -- 使用表达式为变量赋值
         dbms_output.put_line(v_result); -- 输出变量结果值
    end;
    2.连接运算符示例
    declare
       x varchar2(8) :='你好,'; -- 定义字符串变量并赋初值
       y varchar2(8) :='中国';  
    begin
       dbms_output.put_line(x||y); --输出字符串变量值
    end;
    3.连接运算符与null 值示例
    eclare
       x varchar2(8) :='你好,'; --定义字符串变量并赋初始值
       y varchar2(8):='中国';
       z varchar2(10); -- 未赋值则为null
    begin
        dbms_output.put_line(x||z||null||y); -- 输出字符串变量值
        
    end;
    4.逻辑运算符示例
    --定义一个输出布尔值的过程
    create or replace procedure print_boolean (name varchar2,value boolean)
    is 
    begin
         if value is null
         then
            dbms_output.put_line(name||'=null');--如果布尔值为null,结果为null
         elsif value =ture
         then
            dbms_output.put_line(name || '=ture');-- 如果布尔值为ture ,结果为true
         else
            dbms_output.put_line(name ||'false');-- 如果布尔值为false,结果为false
         end is;
    end;
        
    5.比较运算符示例
    declare
       v_value varchar2(200) :='Johnson'; --定义并初始化变量
       letter varchar2(1):='m';
    begin
       --输出算数运算符结果
       print_boolean('(2+2=4)',2+2=4);
       print_boolean('(2+2<>4)',2+2<>4);
       print_boolean('(1<2)',1<2);
       print_boolean('(1>2)',1>2);
       print_boolean('(1<=2)',1<=2);
       print_boolean('(1>=1)',1>=1);
       --输出like 运算符结果
       if v_value like 'j%s_n'
       then
          dbms_output.put_line('true');
       else
          dbms_output.put_line('false');
       end if
       -- 输出between 运算符结果
       print_boolean('2 beteen 1 and 3',2 beteen 1 and 3 );
       print_boolean('2 beteen 2 and 3',2 beteen 2 and 3 );
       --输出in运算符结果
       print_boolean('letter in("a","b","c")',letter in ('a','b','c'));
       print_boolean('letter in ("z","m","y","p")',letter in('z','m','y','p')
           );
    end;
    6.运算符优先级示例

    优先级
    1 ** (乘方)
    2 +,-(一元操作符正、负)
    3 *,/ (乘、除)
    4 +,-,||(加减和字符串连接)
    5 =,<,>,<=,>=,<>,!=,~=,^=,is null,like,between,in(比较)

    declare
       v_result number;  -- 定义保存结果值的变量
    begin
       v_result :=10+5*6-9/3; --计算数据运算结果
       dbms_output.put_line(trunc(v_result));
    end;  --输出结果
  • 相关阅读:
    python列表转json树菜单
    lvm分区创建和扩容
    分布式网络概述
    mycat权威指南阅读笔记--序言1
    Mongodb副本集实现及读写分离
    线程和进程
    socket客户端怎么判断http响应数据的结束
    java遍历http请求request的所有参数实现方法
    Java中mongodb使用and和or的复合查询
    idea @Override is not allowed when implementing interface method
  • 原文地址:https://www.cnblogs.com/etllearn/p/15042505.html
Copyright © 2020-2023  润新知