Oracle 的 SQL语句中 decode()函数
decode()函数简介:
主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);
使用方法:
Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
From talbename
Where …
其中columnname为要选择的table中所定义的column,
·含义解释:
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)的理解如下:
if (条件==值1)
then
return(翻译值1)
elsif (条件==值2)
then
return(翻译值2)
......
elsif (条件==值n)
then
return(翻译值n)
else
return(缺省值)
end if
注:其中缺省值可以是你要选择的column name 本身,也可以是你想定义的其他值,比如Other等;
举例说明:
现定义一table名为output,其中定义两个column分别为monthid(var型)和sale(number型),若sale值=1000时翻译为D,=2000时翻译为C,=3000时翻译为B,=4000时翻译为A,如是其他值则翻译为Other;
SQL如下:
Select monthid , decode (sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output
特殊情况:
若只与一个值进行比较
Select monthid ,decode(sale, NULL,‘---’,sale) sale from output
另:decode中可使用其他函数,如nvl函数或sign()函数等;
NVL(EXPR1,EXPR2)
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;
如果用到decode函数中就是
select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1,
如果取较小值就是
select monthid,decode(sign(sale-6000),-1,sale,6000) from output,即达到取较小值的目的。
Oracle 的 SQL语句中 decode()函数相关推荐
- oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数
在ORACLE 12C支持在sql语句中编写函数,用来实现sql语句操作需要使用函数的部分功能,该功能对于你不想在数据库中新建函数 or 你的库是read only模式下要使用新函数实现某种功能,可以 ...
- oracle sql 符号,Oracle的SQL语句中如何处理‘’符号
Oracle的SQL语句中如何处理'&'符号 在Oracle中,如果在sql中出现'&'符号,会被自动转义: 而被要求输入在&符号后跟随的字符串的值,例如: update ta ...
- oracle sum函数返回空,关于SQL语句中SUM函数返回NULL的解决办法
SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...
- sql语句中使用函数会耗费性能吗_挽救数据库性能的 30 条黄金法则 | 原力计划...
作者 | geekguy 责编 | 王晓曼 出品 | CSDN博客 1. 优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于 ...
- Oracle sql语法中decode函数的用法
decode(条件,值1,结果1,值2,结果2,值3,结果3,... 值n,结果n,缺省值) 改函数的解释: IF 条件=值1 THEN RETURN(结果1) ELSIF 条件=值2 THEN RE ...
- oracle (decode,Oracle sql语法中decode函数的用法
decode(条件,值1,结果1,值2,结果2,值3,结果3,... 值n,结果n,缺省值) 改函数的解释: IF 条件=值1 THEN RETURN(结果1) ELSIF 条件=值2 THEN RE ...
- sql语句中的函数使用
select *,sum(item_XXname) as itemSum from 表名. get(itemSum) 便可得到一系列的对应字段的和. 涉及到的其他的函数还有,摘自以下地址 http:/ ...
- php oracle 操作 sql语句中能不能添加数组_如何在PHP中使用Oracle数据库_php
在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库. PHP提供了2大类API(应用程序接口 ...
- oracle sql 获取当前时间,Oracle 在SQL语句中如何获取系统当前时间并进行操作
### 前言 Oracle中如何获取系统当前时间进行语句的筛选是SQL语句的常见功能 获取系统当前时间 date类型的: select sysdate from dual; char类型的: sele ...
最新文章
- ORACLE告警日志
- 第八次课作业(采购管理、信息与配置管理)
- 【web安全】记一次 Commons Collections 新调用链的挖掘
- 高并发之并发容器详解(从入门到超神)
- VS 2010 开发 ActiveX 开始篇
- Java基础——Java IO详解
- pig连接oracle数据库,Pig安装讲解
- 引脚悬空是什么电平_STM32单片机必须掌握的八种IO口模式和引脚配置方式
- 王思聪名下企业被拍卖1100万债权,此前还债20亿 网友:拍下等于“接盘侠”?...
- jdk版本导致的DB2异常:必需的字符转换器不可用。ERRORCODE=-4220, SQLSTATE=null
- 中国网游未来发展方向预测
- 计算机专业面试英语对话,计算机网络专业面试对话技巧
- Apache http设置反向代理和负载均衡
- 安装ssd后不识别网卡_安装固态硬盘后读不出来,怎么解决?
- 小程序自定义tabbar,不同用户显示不同页面
- NLP自然语言处理-机器学习和自然语言处理介绍(五)
- php爬虫教程(一) 简单的页面抓取
- 通讯桥接器NET30-FX在三菱编程软件GX Works2中的应用
- rocketmq 远程连_RocketMQ-单机版安装及远程连接测试
- hadoop103: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
热门文章
- Windows下创建软硬链接
- viper4android fxifi,ViPer4android. FX顶级音效!
- 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
- 【Effect CodeForces - 270D】Greenhouse (思维,最长非递减子序列(上升),对偶问题,考虑反面)
- 【洛谷 - U43391】不是0-1背包的暴力AC(思维,二分,可转化为二元组问题,复习暴力dfs总结)
- 怎样在数组末尾添加数据_如何利用C++实现可变长的数组?
- 为什么叫日上_古雷150万吨乙烯,为啥叫芒果项目?
- 算法总结-1算法入门
- epoll的内核实现
- Python模块(8)-sklearn 简易使用教程