oracle sql文字列函数,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,即达到取较小值的目的。
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()函数简介相关推荐
- mysql sql decode函数用法_SQL查询中DECODE函数和CASE WHEN 比较
一,DECODE函数 其基本语法为: Sql代码DECODE(value, if1, then1, if2, then2, if3, then3,...ifn, thenn, else) DECODE ...
- oracle+decode函数用法,oracle中decode函数用法
oracle中decode函数用法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DECODE函数相当于一条件语句(IF ...
- SQL中decode函数的用法
SQL中decode函数的用法 2008-07-30 17:11:14 本文已公布到博客频道职场·创业分类 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司 ...
- 将oracle冷备份恢复到另外一个数据库实例中
因更换服务器需要将Oracle数据库转移到另外台Oracle中. 说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不 ...
- oracle 中decode函数
Oracle 中 decode 函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,-值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译 ...
- oracle 的wecate函数,1.Oracle中decode()函数用法
1.Oracle中decode函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻 ...
- SQL中decode()函数简介
SQL中decode()函数简介 Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)From talbenameWhere - 其中:co ...
- sql中decode(...)函数的用法
sql中decode(...)函数的用法 相当于if语句 decode函数比较1个参数时 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') ...
- SQL中 decode() 函数使用介绍
[SQL]SQL中 decode() 函数介绍 主要作用:将查询结果翻译成其他值(即以其他形式表现出来) decode() 函数的语法: select decode(columnname,值1,翻译值 ...
- decode的mysql用法_oracle中decode函数的使用方法示例
decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 TH ...
最新文章
- 误差分析是什么?如何进行误差分析?分析为了获得什么知识?
- 如何在Blog中使用feedburner管理RSS订阅
- Java11安装及环境变量设置
- nodejs后台启动
- 【渝粤教育】电大中专电商运营实操 (19)作业 题库
- mysql为字段值添加或者去除前缀、后缀(查询字段拼值)
- IntelliJ IDEA开发入门教程
- Google TakeOut图片下载器
- linux7解绑bond命令,linux多网卡的7种bond模式原理配置
- 高光谱提取薯叶特征波长
- android plot,androidplot行不显示
- imu 里程计融合_多传感器融合 RLINS概述
- java字符常量_java字符常量
- 信用评分卡模型python_信用评分卡模型在Python中实践(下)
- 不用vpn的谷歌翻译网址
- 易腐食品行业调研报告 - 市场现状分析与发展前景预测
- android /mnt/sdcard 只读,Android重要的文件目录mnt/sdcard 和 /sdcard
- KPI关键绩效指标(Key Performance Indicator)
- c++文件保存与读取
- 畅写Office云端SDK :“硬核”赋予企业应用在线文档I在线协作编辑I在线预览I在线格式转换服务
热门文章
- 使用Aspect和Spring Profile进行电子邮件过滤
- 接触Jenkins(Hudson)API,第2部分
- 具有Java Kickstart的MongoDB
- 08r2系统服务器开索引,SQLSERVER2008R2正确使用索引
- android console命令,我们可以通过两种方式进入Android的console: 1. 直接执行命令emulator -shell; 2....
- html dom 修改,HTML DOM - 修改
- php 降低图像大小,PHP图像重新调整大小
- pixel和毫米怎么换算_压力传感器相关压力单位换算
- java image 设置大小_如何在Java中调整BufferedImage的大小
- 【安卓开发 】Android初级开发(零)各种布局