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,即达到取较小值的目的。

1.1.1.1 行转列,并汇总求和

Oracle数据库中,行转列可以使用到decode函数进行处理。

例如表t1有以下数据

合同号(hth)

科目(kmbh)

金额(je)

发生日期

00001

01

20

2015-01-02

00001

02

30

2015-01-02

00002

01

25

2015-01-02

00001

01

15

2015-01-03

00002

02

40

2015-01-03

00001

03

50

2015-01-04

现需要将以上数据汇总,合同下相同科目的金额汇总到一起,并将科目按列展示

合同号

科目01

科目02

科目03

00001

35

20

50

00002

25

40

0

可使用以下SQL实现:

select hth,sum(decode(kmbh,’01’,je,0))

科目01, sum(decode(kmbh,’02’,je,0)) 科目02, sum(decode(kmbh,’03’,je,0)) 科目03 from t1 group by hth

oracle sql文字列函数,Oracle 数据库SQL中 decode()函数简介相关推荐

  1. mysql sql decode函数用法_SQL查询中DECODE函数和CASE WHEN 比较

    一,DECODE函数 其基本语法为: Sql代码DECODE(value, if1, then1, if2, then2, if3, then3,...ifn, thenn, else) DECODE ...

  2. oracle+decode函数用法,oracle中decode函数用法

    oracle中decode函数用法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DECODE函数相当于一条件语句(IF ...

  3. SQL中decode函数的用法

    SQL中decode函数的用法 2008-07-30 17:11:14 本文已公布到博客频道职场·创业分类 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司 ...

  4. 将oracle冷备份恢复到另外一个数据库实例中

    因更换服务器需要将Oracle数据库转移到另外台Oracle中. 说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不 ...

  5. oracle 中decode函数

    Oracle 中 decode 函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,-值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译 ...

  6. oracle 的wecate函数,1.Oracle中decode()函数用法

    1.Oracle中decode函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻 ...

  7. SQL中decode()函数简介

    SQL中decode()函数简介 Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)From talbenameWhere - 其中:co ...

  8. sql中decode(...)函数的用法

    sql中decode(...)函数的用法 相当于if语句 decode函数比较1个参数时 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') ...

  9. SQL中 decode() 函数使用介绍

    [SQL]SQL中 decode() 函数介绍 主要作用:将查询结果翻译成其他值(即以其他形式表现出来) decode() 函数的语法: select decode(columnname,值1,翻译值 ...

  10. decode的mysql用法_oracle中decode函数的使用方法示例

    decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 TH ...

最新文章

  1. 误差分析是什么?如何进行误差分析?分析为了获得什么知识?
  2. 如何在Blog中使用feedburner管理RSS订阅
  3. Java11安装及环境变量设置
  4. nodejs后台启动
  5. 【渝粤教育】电大中专电商运营实操 (19)作业 题库
  6. mysql为字段值添加或者去除前缀、后缀(查询字段拼值)
  7. IntelliJ IDEA开发入门教程
  8. Google TakeOut图片下载器
  9. linux7解绑bond命令,linux多网卡的7种bond模式原理配置
  10. 高光谱提取薯叶特征波长
  11. android plot,androidplot行不显示
  12. imu 里程计融合_多传感器融合 RLINS概述
  13. java字符常量_java字符常量
  14. 信用评分卡模型python_信用评分卡模型在Python中实践(下)
  15. 不用vpn的谷歌翻译网址
  16. 易腐食品行业调研报告 - 市场现状分析与发展前景预测
  17. android /mnt/sdcard 只读,Android重要的文件目录mnt/sdcard 和 /sdcard
  18. KPI关键绩效指标(Key Performance Indicator)
  19. c++文件保存与读取
  20. 畅写Office云端SDK :“硬核”赋予企业应用在线文档I在线协作编辑I在线预览I在线格式转换服务

热门文章

  1. 使用Aspect和Spring Profile进行电子邮件过滤
  2. 接触Jenkins(Hudson)API,第2部分
  3. 具有Java Kickstart的MongoDB
  4. 08r2系统服务器开索引,SQLSERVER2008R2正确使用索引
  5. android console命令,我们可以通过两种方式进入Android的console: 1. 直接执行命令emulator -shell; 2....
  6. html dom 修改,HTML DOM - 修改
  7. php 降低图像大小,PHP图像重新调整大小
  8. pixel和毫米怎么换算_压力传感器相关压力单位换算
  9. java image 设置大小_如何在Java中调整BufferedImage的大小
  10. 【安卓开发 】Android初级开发(零)各种布局