可以使用括号控制运算的顺序
|
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/ ,如需转载,请注明出处,否则将追究法律责任。