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()函数相关推荐

  1. oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数

    在ORACLE 12C支持在sql语句中编写函数,用来实现sql语句操作需要使用函数的部分功能,该功能对于你不想在数据库中新建函数 or 你的库是read only模式下要使用新函数实现某种功能,可以 ...

  2. oracle sql 符号,Oracle的SQL语句中如何处理‘’符号

    Oracle的SQL语句中如何处理'&'符号 在Oracle中,如果在sql中出现'&'符号,会被自动转义: 而被要求输入在&符号后跟随的字符串的值,例如: update ta ...

  3. oracle sum函数返回空,关于SQL语句中SUM函数返回NULL的解决办法

    SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...

  4. sql语句中使用函数会耗费性能吗_挽救数据库性能的 30 条黄金法则 | 原力计划...

    作者 | geekguy 责编 | 王晓曼 出品 | CSDN博客 1. 优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于 ...

  5. Oracle sql语法中decode函数的用法

    decode(条件,值1,结果1,值2,结果2,值3,结果3,... 值n,结果n,缺省值) 改函数的解释: IF 条件=值1 THEN RETURN(结果1) ELSIF 条件=值2 THEN RE ...

  6. oracle (decode,Oracle sql语法中decode函数的用法

    decode(条件,值1,结果1,值2,结果2,值3,结果3,... 值n,结果n,缺省值) 改函数的解释: IF 条件=值1 THEN RETURN(结果1) ELSIF 条件=值2 THEN RE ...

  7. sql语句中的函数使用

    select *,sum(item_XXname) as itemSum from 表名. get(itemSum) 便可得到一系列的对应字段的和. 涉及到的其他的函数还有,摘自以下地址 http:/ ...

  8. php oracle 操作 sql语句中能不能添加数组_如何在PHP中使用Oracle数据库_php

    在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库. PHP提供了2大类API(应用程序接口 ...

  9. oracle sql 获取当前时间,Oracle 在SQL语句中如何获取系统当前时间并进行操作

    ### 前言 Oracle中如何获取系统当前时间进行语句的筛选是SQL语句的常见功能 获取系统当前时间 date类型的: select sysdate from dual; char类型的: sele ...

最新文章

  1. ORACLE告警日志
  2. 第八次课作业(采购管理、信息与配置管理)
  3. 【web安全】记一次 Commons Collections 新调用链的挖掘
  4. 高并发之并发容器详解(从入门到超神)
  5. VS 2010 开发 ActiveX 开始篇
  6. Java基础——Java IO详解
  7. pig连接oracle数据库,Pig安装讲解
  8. 引脚悬空是什么电平_STM32单片机必须掌握的八种IO口模式和引脚配置方式
  9. 王思聪名下企业被拍卖1100万债权,此前还债20亿 网友:拍下等于“接盘侠”?...
  10. jdk版本导致的DB2异常:必需的字符转换器不可用。ERRORCODE=-4220, SQLSTATE=null
  11. 中国网游未来发展方向预测
  12. 计算机专业面试英语对话,计算机网络专业面试对话技巧
  13. Apache http设置反向代理和负载均衡
  14. 安装ssd后不识别网卡_安装固态硬盘后读不出来,怎么解决?
  15. 小程序自定义tabbar,不同用户显示不同页面
  16. NLP自然语言处理-机器学习和自然语言处理介绍(五)
  17. php爬虫教程(一) 简单的页面抓取
  18. 通讯桥接器NET30-FX在三菱编程软件GX Works2中的应用
  19. rocketmq 远程连_RocketMQ-单机版安装及远程连接测试
  20. hadoop103: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

热门文章

  1. Windows下创建软硬链接
  2. viper4android fxifi,ViPer4android. FX顶级音效!
  3. 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
  4. 【Effect CodeForces - 270D】Greenhouse (思维,最长非递减子序列(上升),对偶问题,考虑反面)
  5. 【洛谷 - U43391】不是0-1背包的暴力AC(思维,二分,可转化为二元组问题,复习暴力dfs总结)
  6. 怎样在数组末尾添加数据_如何利用C++实现可变长的数组?
  7. 为什么叫日上_古雷150万吨乙烯,为啥叫芒果项目?
  8. 算法总结-1算法入门
  9. epoll的内核实现
  10. Python模块(8)-sklearn 简易使用教程