我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle 中怎么实现短路与非短路函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle 中怎么实现短路与非短路函数

本篇文章为大家展示了oracle 中怎么实现短路与非短路函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

tip: 短路运算减少执行语句,优化了性能!

运算符里:AND和OR都有短路计算功能,常见函数里又是怎么样的呢?

一:非短路函数

   1:NVL

   2: NVL2

二:短路函数

   1: decode

   2: case when

   3: coalesce

三:实验

SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
--NVL(1,0,1) = 2 被短路
SQL> select * from dual where 1 = 1 or nvl(1/0,2) = 2;
DU
--
X
--NVL(1,0,1) = 2 被短路
SQL>   select * from dual where 1 = 2 and nvl(1/0,1) = 2;
no rows selected
--1/0 继续运算,非短路
SQL> select nvl(1,1/0) from dual;
	select nvl(1,1/0) from dual
				  *
	ERROR at line 1:
	ORA-01476: divisor is equal to zero
--1/0 继续运算,非短路
SQL> select nvl2(null,1/0,2) from dual;
select nvl2(null,1/0,2) from dual
				  *
ERROR at line 1:
ORA-01476: divisor is equal to zero
--1/0 没有运算,短路
SQL> select decode(1,1,2,1/0) from dual;
DECODE(1,1,2,1/0)
-----------------
				2
				
--1/0 没有运算,短路
SQL> select coalesce(null,1,1/0) from dual;
COALESCE(NULL,1,1/0)
--------------------
				   1
--1/0 没有运算,短路
SQL> select case when 1 is not null then 1 else 1/0 end col from dual;
COL
----------
1

上述内容就是oracle 中怎么实现短路与非短路函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle 中怎么实现短路与非短路函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#图表算法之最短路径怎么实现

本篇内容主要讲解“C#图表算法之最短路径怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#图表算法之最短路径怎么实现”吧!从一个顶点到达另一个顶点的成本最小的路径。我们采用一个一般性的模
2023-06-30

Python和Matlab怎么实现蚂蚁群算法求解最短路径

这篇文章主要介绍“Python和Matlab怎么实现蚂蚁群算法求解最短路径”,在日常操作中,相信很多人在Python和Matlab怎么实现蚂蚁群算法求解最短路径问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P
2023-06-29

使用vue-router钩子函数怎么实现路由守卫

这篇文章给大家介绍使用vue-router钩子函数怎么实现路由守卫,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。全局钩子函数beforeEach:beforeEach一共接收三个参数,分别是to、from、next;t
2023-06-14

Vue3中怎么使用vue-router实现路由跳转与参数获取

今天小编给大家分享一下Vue3中怎么使用vue-router实现路由跳转与参数获取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下
2023-06-29

oracle中怎么用unpivot函数实现列转行

在Oracle中,可以使用UNPIVOT函数将多列转换为单列。以下是一个示例,假设有一个包含学生姓名、数学成绩和英语成绩的表格:CREATE TABLE student_scores (student_name VARCHAR2(50),
oracle中怎么用unpivot函数实现列转行
2024-04-09

编程热搜

目录