1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:\ORANT
含义解释:
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);
分享到:
相关推荐
Oracle的DECODE函数是一种条件表达式,用于在SQL语句中执行类似于IF...THEN...ELSE逻辑判断的功能。它根据一个指定的表达式的值,与一系列的条件进行比较,如果匹配到某个条件,则返回对应的值;如果没有匹配任何...
### Oracle中Decode()函数的有关用法 #### 一、Decode()函数简介 在Oracle数据库中,`DECODE()`函数是一种非常实用的功能,主要用于条件判断并返回特定的值。它提供了一种简单的方法来实现多分支逻辑判断,尤其是...
Oracle中的DECODE函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断和返回相应的值。这个函数类似于IF-THEN-ELSE语句的简写形式,减少了编写复杂逻辑的代码量,使得SQL语句更加简洁易读。 DECODE...
下面将详细介绍Oracle Decode()函数的使用技巧。 1. **基本语法**: Decode()函数的基本语法如下: ``` DECODE(source, value1, result1, value2, result2, ..., default_value) ``` 其中,`source`是要检查的...
下面我们将详细讲解DECODE函数的使用方法以及如何在列转行操作中应用它。 DECODE函数的基本语法如下: ```sql DECODE(column, value1, result1, value2, result2, ..., default_result) ``` 这里`column`是要检查的...
Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。 Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的...
然而,在面对复杂的多条件组合统计需求时,`DECODE`函数的应用可能会变得相对繁琐,这时往往更倾向于使用`CASE WHEN`语句或创建视图的方法来解决。不过,如果出于特定原因需要坚持使用`DECODE`函数,那么了解如何...
Oracle的DECODE函数是数据库...通过学习和理解DECODE函数以及触发器的使用,你可以更好地掌握Oracle数据库的高级特性和功能,提升数据库管理和开发的效率。同时,实践操作和案例分析也是深入理解这些概念的关键步骤。
为了更好地理解`DECODE`函数的使用方法,我们来看一个具体的例子。假设有一个名为`checkup`的表,其中包含`checkup_type`和`blood_test_flag`两个字段,`blood_test_flag`用于标识是否进行了血液测试,其中`Y`表示...
Oracle中的DECODE函数是一个非常实用的工具,它允许我们在SQL查询中进行条件判断,并返回相应的值。DECODE函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 1. **DECODE用于...
以下是一些DECODE函数的使用方法示例: 1. **比较大小** - 可以结合`SIGN()`函数来获取两个变量中较小的值: ```sql SELECT DECODE(SIGN(变量1 - 变量2), -1, 变量1, 变量2) FROM DUAL; ``` 当`变量1`小于`...
Oracle 中 decode 函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ...
### Oracle中NVL、DECODE、TRIM、RTRIM的常见用法 #### NVL函数 在Oracle数据库中,NVL函数是一个非常实用的功能,主要用于处理NULL值。其基本语法如下: ``` NVL(expression1, expression2) ``` 其中: - `...
在ASP(Active Server Pages)环境中,可以使用内置的`Server.URLEncode`函数进行URL编码,而解码则可以使用`Server.URLDecode`函数。`Server.URLDecode("编码后的字符串")`会返回解码后的原始字符串。例如,如果有...
由于Oracle是目前唯一支持Decode()函数的SQL实现,因此了解并熟练掌握其用法对于Oracle数据库管理员和开发人员来说至关重要。 Decode()函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., ...
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的...在实际应用中,应根据具体需求和代码的可维护性来决定使用哪种方法。