热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

OraclePL/SQL–运算符优先级

简述运算符优先级决定了表达式中术语的分组。这会影响表达式的计算方式。某些运算符的优先级高于


简述



运算符优先级决定了表达式中术语的分组。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符。


例如, x = 7 + 3 * 2; 这里,x 被安排了 13, 不是 20 因为运算符 * 的优先级高于 +,所以它首先乘以 3*2 然后加入 7.


在这里,具有最高优先级的运算符出现在表格的顶部,具有最低优先级的运算符出现在底部。在表达式中,优先级更高的运算符将首先被评估。


运算符的优先级如下:=、<、>、<=、>=、<>、!=、~=、^=、IS NULL、LIKE、BETWEEN、IN。







































操作员手术
**取幂
+, -身份,否定
*, /乘法、除法
+, -, ||加法、减法、串联
比较
NOT逻辑否定
AND连词
OR包容



例子



尝试以下示例以了解 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;
/




在 SQL 提示符下执行上述代码时,会产生以下结果 -


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.





推荐阅读
author-avatar
笑眯眯马甲61
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有