select unit_info.*,decode(ngrade,1,'一级',2,'二级',3,'三级','其他') jb from unit_info;
先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,通常的做法是,先选出记录 中的工资字段值?
select salary into var-salary from employee
然后对变量var-salary用if-then-else或choose case之类的流控制语句进行判断。
如果用DECODE函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。如下:
select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee
是不是很简洁?
DECODE的法:
DECODE(value,if1,then1,if2,then2,if3,then3,…,else)
表示如果value 等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。
分享到:
相关推荐
【DECODE函数详解】 DECODE函数是Oracle PL/SQL中的一个独特特性,它在软件开发,尤其是数据库查询中,提供了一种简洁而高效的方法来进行条件判断和数据转换。这个函数在Oracle SQL中扮演了if-then-else逻辑的角色...
本文档“ASP字符串的加密解密函数[归类].pdf”介绍了如何使用RSA算法来实现这一目标。RSA是一种非对称加密算法,它基于两个密钥:公钥和私钥。一个用于加密,另一个用于解密,确保只有拥有正确密钥的人才能访问加密...
FFmpeg主要数据结构和函数归类 FFmpeg是一款功能强大且广泛使用的多媒体处理库,它提供了丰富的数据结构和函数来处理音视频编解码、文件操作等多种任务。下面我们将对FFmpeg中的主要数据结构和函数进行归类和分析。...
- `DECODE`:根据给定条件返回不同值,类似于三元运算符。 - `GREATEST/LEAST`:返回一组值中的最大值或最小值。 6. **聚合函数**: - `COUNT`:计算行数。 - `SUM`:计算数值列的总和。 - `AVG`:计算平均值...
这部分可能包括了其他未归类的函数,例如`DECODE`, `NULLIF`, `COALESCE`等逻辑和条件处理函数。 以上是对文档标题和描述中的各个分类的详细解释,这些函数为使用Oracle数据库进行数据操作提供了丰富的工具和支持。...
在这个例子中,通过将工资除以1000并取整的方式,可以快速地确定工资所在的区间,进而通过DECODE函数直接获取税率。 ### 四、注意事项 1. **数据类型**:确保所有数值运算都正确处理了数据类型转换问题。例如,当...
5. **使用DECODE函数**:DECODE函数可以减少对相同记录的重复扫描或避免不必要的表连接,从而节省处理时间。 6. **整合简单无关联的查询**:如果可能,将多个简单的查询合并到一个查询中,以减少数据库交互次数。 ...
- **DECODE**:实现类似`IF...ELSE IF...ELSE`的逻辑,如`DECODE(sal, 800, '低工资', 3000, '正常工资', 5000, '高工资', '没判断')`。 以上内容仅涵盖了Oracle数据库的基础知识,实际上Oracle还有更多高级特性,...
`success`和`failure`回调函数分别处理后台操作成功或失败时的响应。当请求正在进行时,`waitMsg`会显示一个等待消息。 后台代码部分,这里以Java为例,展示了如何处理这个请求: ```java public void ...
主要有两个核心函数:`encode`和`decode`。 1. `encode(id, salt)`: 使用指定的盐(salt)将整数ID编码为哈希ID字符串。盐是一个可选的参数,用于增加安全性,确保同一ID在不同的系统中编码结果不同。 2. `decode...