鍍金池/ 教程/ 數(shù)據(jù)庫/ PL/SQL運(yùn)算符優(yōu)先級
PL/SQL記錄
PL/SQL基本語法
PL/SQL集合
PL/SQL包
PL/SQL關(guān)系運(yùn)算符
PL/SQL比較運(yùn)算符
PL/SQL條件控制
PL/SQL字符串
PL/SQL算術(shù)運(yùn)算符
PL/SQL變量
PL/SQL IF-THEN-ELSIF語句
PL/SQL函數(shù)
PL/SQL異常
PL/SQL FOR循環(huán)語句
PL/SQL日期及時(shí)間
PL/SQL EXIT語句
PL/SQL DBMS輸出
PL/SQL過程
PL/SQL CONTINUE語句
PL/SQL數(shù)組
PL/SQL嵌套IF-THEN-ELSE語句
PL/SQL事務(wù)
PL/SQL CASE語句
PL/SQL IF-THEN語句
PL/SQL GOTO語句
PL/SQL運(yùn)算符優(yōu)先級
PL/SQL觸發(fā)器
PL/SQL運(yùn)算符
PL/SQL教程
PL/SQL WHILE循環(huán)語句
PL/SQL面向?qū)ο?/span>
PL/SQL循環(huán)
PL/SQL邏輯運(yùn)算符
PL/SQL IF-THEN-ELSE語句
PL/SQL數(shù)據(jù)類型
PL/SQL環(huán)境安裝設(shè)置
PL/SQL游標(biāo)
PL/SQL基本循環(huán)語句
PL/SQL搜索CASE語句
PL/SQL常量和文字
PL/SQL嵌套循環(huán)

PL/SQL運(yùn)算符優(yōu)先級

PL/SQL運(yùn)算符優(yōu)先級

運(yùn)算符優(yōu)先級確定表達(dá)式分組。這會影響一個(gè)表達(dá)式是如何進(jìn)行計(jì)算。某些運(yùn)算符的優(yōu)先級高于其他運(yùn)算符; 例如,乘法運(yùn)算符的優(yōu)先級比加法運(yùn)算高:

例如 x =7 + 3* 2; 這里,x被賦值13,而不是20,因?yàn)檫\(yùn)算符*具有優(yōu)先級高于+,所以它首先被乘以3 * 2,然后再加上7。

這里,具有最高優(yōu)先級的操作出現(xiàn)在表的頂部,那些具有最低出現(xiàn)在底部。在表達(dá)式,更高的優(yōu)先級運(yùn)算符將首先計(jì)算。

運(yùn)算符 操作符
** 指數(shù)運(yùn)算
+, - 加法,取反
*, / 乘法,除法
+, -, || 加,減,并置
=, <, >, <=, >=, <>, !=, ~=, ^=, 
IS NULL, LIKE, BETWEEN, IN
比較
NOT 邏輯否定
AND 關(guān)聯(lián)
OR 包含

示例:

試試下面的例子來理解運(yùn)算符優(yōu)先級在PL/ SQL中的使用:

DECLARE
   a number(2) := 20;
   b number(2) := 10;
   c number(2) := 15;
   d number(2) := 5;
   e number(2) ;
BEGIN
   e := (a + b) * c / d;      -- ( 30 * 15 ) / 5
   dbms_output.put_line('Value of (a + b) * c / d is : '|| e );

   e := ((a + b) * c) / d;   -- (30 * 15 ) / 5
   dbms_output.put_line('Value of ((a + b) * c) / d is  : ' ||  e );

   e := (a + b) * (c / d);   -- (30) * (15/5)
   dbms_output.put_line('Value of (a + b) * (c / d) is  : '||  e );

   e := a + (b * c) / d;     --  20 + (150/5)
   dbms_output.put_line('Value of a + (b * c) / d is  : ' ||  e );
END;
/

當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is  : 90
Value of (a + b) * (c / d) is  : 90
Value of a + (b * c) / d is  : 50

PL/SQL procedure successfully completed.

上一篇:PL/SQL變量下一篇:PL/SQL基本語法