`
alenwoo
  • 浏览: 25494 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle decode()

阅读更多
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)),

分享到:
评论

相关推荐

    关于oracle decode函数的用法

    关于oracle decode函数的用法

    Oracle DECODE函数语法使用介绍

    Oracle DECODE函数是一种在Oracle数据库中执行条件判断的实用函数,它允许你在SQL查询中实现类似于if-then-else的逻辑。DECODE函数的主要优点在于它简洁且高效,尤其是在处理大量数据时,能够减少不必要的计算和提高...

    Oracle中Decode()函数的有关用法

    Oracle中Decode()函数的有关用法Oracle中Decode()函数的有关用法

    ORACLE DECODE函数在中国式报表统计查询中的组合条件实现

    使用DECODE实现统计,是比较常用的。 但是在遇到需要组合条件进行统计时,有时却不如case when 或者另建视图好用。 可是有时就想用DECODE,咋办? 这里给大家介绍一下DECODE如何实现组合条件查询,一句SQL查询一张...

    Oracle Decode()函数使用技巧分享

    今天上头要求做一个类似的功能,初步想到的列转行,但是如何实现也没有什么好办法,这个函数不错DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现...

    oracle decode

    有兴趣的童靴们可以看看哈

    Oracle 中 decode 函数用法

    decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN  RETURN(翻译值1) ELSIF 条件=值2 THEN  RETURN(翻译值2)  ...... ELSIF 条件=值n THEN  RETURN(翻译值n) ...

    Oracle数据库字符集问题解析

    Oracle数据库字符集问题解析

    Oracle中Decode()函数使用技巧

    Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧

    Oracle中Decode()函数使用技巧.doc

    Oracle 中 Decode() 函数使用技巧 Decode 函数是 Oracle PL/SQL 中的一种功能强大的函数,现只有 Oracle 公司的 SQL 提供了此函数,其他数据库厂商的 SQL 实现还没有此功能。 Decode 函数可以用来实现多种逻辑判断...

    oracle的decode函数

    DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。

    oracle函数和分组

    在Oracle数据库中,函数和分组是进行数据处理和分析的重要工具。本篇将详细介绍一些常用的Oracle内建函数,特别是字符函数、数字函数以及分组相关的GROUP BY子句和HAVING子句。 首先,我们来看字符函数。字符函数...

    oracle_function_decode.patch

    博客:PostgreSQL的学习心得和知识总结(四十四)|语法级自上而下完美实现Oracle数据库DECODE函数的实现方案(GreenPlum & AntDB)

    ORACLE 11G数据库安装详解

    Oracle 11g数据库安装详解是一项重要的技术任务,尤其对于那些需要管理或开发基于Oracle数据库的应用程序的人来说。本文将详细阐述Oracle 11g数据库在服务器端和客户端的安装过程。 1. 服务器端安装 Oracle 11g...

    Oracle null的使用

    "Oracle null 的使用" Oracle null 的使用是 Oracle 开发中一个非常重要的概念。_null 是一个特殊的值,表示未知或不存在的值。在 Oracle 中,null 与 0、空字符串、空格不同,它们是不同的概念。 认识 null 在 ...

    oracle中decode()函数使用技巧

    Oracle 中 Decode() 函数使用技巧 Decode() 函数是 Oracle PL/SQL 中功能强大的函数之一,目前只有 Oracle 公司的 SQL 提供了此函数,其他数据库厂商的 SQL 实现还没有此功能。Decode 函数有什么用途呢?下面我们...

    oracle中decode函数的使用方法示例

    Oracle中的DECODE函数是一个非常实用的工具,它允许我们在SQL查询中进行条件判断,并返回相应的值。DECODE函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 1. **DECODE用于...

    decode解码函数

    urlEncode加密后的中文进行解码,对于分析远程链接很有帮助。

Global site tag (gtag.js) - Google Analytics