ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Reference-PL/SQL语言基础-表达式-操作符优先级

PLSQL Language Reference-PL/SQL语言基础-表达式-操作符优先级

原创 Oracle 作者:luisedalian 时间:2014-03-07 08:34:57 0 删除 编辑

操作符优先级

可以使用括号控制运算的顺序

DECLARE

    a INTEGER := 1 + 2**2;

    b INTEGER := (1 + 2)**2;

BEGIN

    DBMS_OUTPUT.PUT_LINE('a = ' || TO_CHAR(a));

    DBMS_OUTPUT.PUT_LINE('b = ' || TO_CHAR(b));

END;


当括号嵌套时,最深层次的括号具有最高优先级。

DECLARE

    a INTEGER := ((1 + 2)*(3 + 4))/7;

BEGIN

    DBMS_OUTPUT.PUT_LINE('a = ' || TO_CHAR(a));

END;


使用括号提高程序的可读性

DECLARE

    a INTEGER := 2 ** 2 * 3 ** 2;

    b INTEGER := (2 ** 2) * (3 ** 2);

BEGIN

    DBMS_OUTPUT.PUT_LINE('a = ' || TO_CHAR(a));

    DBMS_OUTPUT.PUT_LINE('b = ' || TO_CHAR(b));

END;


 


 

DECLARE

    salary      NUMBER := 60000;

    commission  NUMBER := 0.10;

BEGIN

    -- /比+优先级高

    DBMS_OUTPUT.PUT_LINE('5 + 12 / 4 = ' || TO_CHAR(5 + 12 / 4));

    DBMS_OUTPUT.PUT_LINE('12 / 4 + 5 = ' || TO_CHAR(12 / 4 + 5));

 

    -- 使用括号改变优先级

    DBMS_OUTPUT.PUT_LINE('8 + 6 / 2 = ' || TO_CHAR(8 + 6 / 2));

    DBMS_OUTPUT.PUT_LINE('(8 + 6) / 2 = ' || TO_CHAR((8 + 6) / 2));

 

    -- 最深层的括号具有最高的优先级

    DBMS_OUTPUT.PUT_LINE('100 + (20 / 5 + (7 - 3)) = '

                      || TO_CHAR(100 + (20 / 5 + (7 - 3))));

 

    -- 使用括号提高程序的可读性

    DBMS_OUTPUT.PUT_LINE('(salary * 0.05) + (commission * 0.25) = '

        || TO_CHAR((salary * 0.05) + (commission * 0.25))

    );

 

    DBMS_OUTPUT.PUT_LINE('salary * 0.05 + commission * 0.25 = '

        || TO_CHAR(salary * 0.05 + commission * 0.25)

    );

END;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1102786/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    6043828