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

2021-08-30 16:23 更新

運(yùn)算符優(yōu)先級(jí)決定表達(dá)式中術(shù)語(yǔ)的分組。這會(huì)影響表達(dá)式的評(píng)估求值順序。某些運(yùn)算符的優(yōu)先級(jí)高于其他運(yùn)算符; 例如,乘法運(yùn)算符的優(yōu)先級(jí)高于加法運(yùn)算符。

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

在這里,優(yōu)先級(jí)最高的運(yùn)算符出現(xiàn)在表的頂部,最底層的運(yùn)算符出現(xiàn)在底部。在一個(gè)表達(dá)式中,將首先評(píng)估求值較高優(yōu)先級(jí)的運(yùn)算符。

運(yùn)算符的優(yōu)先級(jí)如下:=,<,>,<=,>=,<>,!=,?=,^=,IS NULL,LIKE,BETWEEN,IN。

運(yùn)算符優(yōu)先級(jí)示例

運(yùn)算符 操作描述
** 指數(shù)冪運(yùn)算符
+, - 標(biāo)識(shí)符,負(fù)數(shù)
*, / 乘法,除法
+, -, ΙΙ 加,減,連接
NOT 邏輯否定
AND 連詞(邏輯與)
OR 包含(邏輯或)

示例嘗試以下示例來(lái)了解PL/SQL中可用的運(yùn)算符優(yōu)先級(jí) -

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; 
/
SQL

當(dāng)上述代碼在SQL提示符下執(zhí)行時(shí),它會(huì)產(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.

 




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)