decode用法
来源:互联网 发布:智能电视直播软件apk 编辑:程序博客网 时间:2024/06/05 11:58
含义解释:
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
使用方法:
1、比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
2、表、视图结构转化
现有一个商品销售表sale,表结构为:
month char(6) --月份
sell number(10,2) --月销售金额
现有数据为:
200001 1000
200002 1100
200003 1200
200004 1300
200005 1400
200006 1500
200007 1600
200101 1100
200202 1200
200301 1300
想要转化为以下结构的数据:
year char(4) --年份
month1 number(10,2) --1月销售金额
month2 number(10,2) --2月销售金额
month3 number(10,2) --3月销售金额
month4 number(10,2) --4月销售金额
month5 number(10,2) --5月销售金额
month6 number(10,2) --6月销售金额
month7 number(10,2) --7月销售金额
month8 number(10,2) --8月销售金额
month9 number(10,2) --9月销售金额
month10 number(10,2) --10月销售金额
month11 number(10,2) --11月销售金额
month12 number(10,2) --12月销售金额
结构转化的SQL语句为:
create or replace view
v_sale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9,month10,month11,month12)
as
select
substrb(month,1,4),
sum(decode(substrb(month,5,2), '01 ',sell,0)),
sum(decode(substrb(month,5,2), '02 ',sell,0)),
sum(decode(substrb(month,5,2), '03 ',sell,0)),
sum(decode(substrb(month,5,2), '04 ',sell,0)),
sum(decode(substrb(month,5,2), '05 ',sell,0)),
sum(decode(substrb(month,5,2), '06 ',sell,0)),
sum(decode(substrb(month,5,2), '07 ',sell,0)),
sum(decode(substrb(month,5,2), '08 ',sell,0)),
sum(decode(substrb(month,5,2), '09 ',sell,0)),
sum(decode(substrb(month,5,2), '10 ',sell,0)),
sum(decode(substrb(month,5,2), '11 ',sell,0)),
sum(decode(substrb(month,5,2), '12 ',sell,0))
from sale
group by substrb(month,1,4);
- DECODE 用法
- decode用法
- decode用法
- decode 函数的用法
- decode 函数的用法
- decode 函数用法
- DECODE 的用法
- decode函数的用法
- oracle decode 用法
- decode函数的用法
- Decode 函数的用法
- Oracle decode用法
- decode 函数的用法
- decode 的用法
- decode的用法
- Oracle中的decode用法
- decode函数用法
- Oracle DECODE 的用法
- jQuery 的 html() 方法的问题。
- IBM苏明富:规则管理系统在保险行业的应用
- 配置ASP.NET AJAX
- HttpModule,HttpHandler,HttpHandlerFactory简单使用
- C#学习笔记 —— 值类型和引用类型
- decode用法
- SET集合映射,相当于两个表关联,共同插入数据
- 开源代码(2)
- jsp中通过URL地址获取该地址页面中的静态页面
- 金融危机下 保险信息化聚焦什么?
- linux共享内存使用实例
- 今天安装了VS2008中文版SP1。
- SQL 字段帶空
- ASP.NET+JQuery实现AJAX的分页