含义解释:
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
该函数的含义如下:
使用方法:
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、此函数用在SQL语句中,功能介绍如下:
DECODE函数与一系列嵌套的 IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和 第i 个compare项匹配,就返回第i 个对应的value 。如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的base_exp被认为和NULL compare值等价。如果需要的话,每一个compare值都被转换成和第一个compare 值相同的数据类型,这个数据类型也是返回值的类型。
decode函数在实际开发中非常的有用
结合LPAD函数,如何使主键的值自动加1并在前面补0
eg:
dir 的值是1变为0,是0则变为1 呵呵
比如我要查询某班男生和女生的数量分别是多少
通常我们这么写
要想显示到一起还要union一下,太麻烦了
用decode呢,只需要一句话
转自:http://blog.csdn.net/jssg_tzw/article/details/4097923
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) decode(字段或字段的运算,值1,值2,值3) SELECT DECODE (value, <if this value>, <return this value>) FROM table
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
该函数的含义如下:
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、此函数用在SQL语句中,功能介绍如下:
DECODE函数与一系列嵌套的 IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和 第i 个compare项匹配,就返回第i 个对应的value 。如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的base_exp被认为和NULL compare值等价。如果需要的话,每一个compare值都被转换成和第一个compare 值相同的数据类型,这个数据类型也是返回值的类型。
decode函数在实际开发中非常的有用
结合LPAD函数,如何使主键的值自动加1并在前面补0
select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis
eg:
select decode(dir,1,0,1) from a1_interval
dir 的值是1变为0,是0则变为1 呵呵
比如我要查询某班男生和女生的数量分别是多少
通常我们这么写
select count(*) from 表 where 性别 = 男; select count(*) from 表 where 性别 = 女;
要想显示到一起还要union一下,太麻烦了
用decode呢,只需要一句话
select SUM(decode(性别,男,1,0)) ,SUM(decode(性别,女,1,0)) from 表
转自:http://blog.csdn.net/jssg_tzw/article/details/4097923
发表评论
-
oracle10g完全缷载略记
2016-07-09 15:14 844软件环境: 1、Windows7 + Oracle 10g ... -
MySQL zip版的简单安装方式
2016-06-25 17:56 805Windows下MySQL zip版的简单安装 1、下载My ... -
关系型数据库三范式解释
2016-04-07 11:54 1281数据库 三范式最简单最易记的解释,整理一下方便大家记忆。 书上 ... -
oracle中的视图详解及实例
2015-03-26 16:42 17131.创建用户并授权: cre ... -
plsql快捷键设置
2015-01-19 14:15 24481.使用PL/SQL中经常性需要输入select * fro ... -
database link问题解决
2015-01-15 15:00 6670Oracle数据库中关于databas ... -
Oracle10g创建Database link
2015-01-14 10:53 968Oracle10g创建Database link ... -
union和union all的区别
2014-12-29 16:20 1312Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要 ... -
oracle数据库导入导出
2014-11-04 11:33 826oracle数据库导入导出(导出为dmp格式) 一、数据导出: ... -
db语句优划与用法相关
2014-09-19 17:01 6651. oracle 中的not in() 与not exist ... -
oracle 临时表空间 和数据表空间
2014-08-25 13:28 932Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临 ... -
--Oracle 删除用户和表空间
2014-08-25 11:40 2493--查看oracle所有的表空间 select dbf.tab ... -
Oracle trunc()函数的用法 to_date()
2014-07-01 14:24 1421Oracle trunc()函数的用法 --Oracle ... -
sql执行顺序
2014-06-17 21:06 855在查询中逻辑查询和 ... -
监听listener oracle 错误 1067:进程意外终止
2014-05-15 19:20 1619监听listener oracle 错误 1067:进程意外终 ... -
jdbc properties文件配置
2014-05-05 21:33 1364前言 JDBC(Java Data Base Connecti ... -
PLSQL 创建表空间和用户
2014-03-14 18:09 3541通过pl/sql登录到Oracle数据库上,然后执行菜单:文件 ... -
oracle 中删除表 drop delete truncate 的区别
2014-02-27 17:26 1001相同点,使用drop delete truncate 都会删除 ... -
oracle表创建序列创建触发器创建
2014-02-27 11:33 1231// 创建一个序列 CREATE SEQUENCE Car_G ... -
oracle打开关闭服务批处理
2014-02-26 09:29 833@echo off echo 正在启动oracle服务,请稍等 ...
相关推荐
Oracle中的DECODE函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断和返回相应的值。这个函数类似于IF-THEN-ELSE语句的简写形式,减少了编写复杂逻辑的代码量,使得SQL语句更加简洁易读。 DECODE...
Oracle的DECODE函数是一种条件表达式,用于在SQL语句中执行类似于IF...THEN...ELSE逻辑判断的功能。它根据一个指定的表达式的值,与一系列的条件进行比较,如果匹配到某个条件,则返回对应的值;如果没有匹配任何...
下面我们将详细讲解DECODE函数的使用方法以及如何在列转行操作中应用它。 DECODE函数的基本语法如下: ```sql DECODE(column, value1, result1, value2, result2, ..., default_result) ``` 这里`column`是要检查的...
Oracle中的Decode()函数是数据库查询时非常实用的一个工具,它允许你在SQL语句中实现简单的条件判断,类似于IF-THEN-ELSE逻辑。这个函数在处理数据时提供了灵活性,避免了复杂的CASE语句,使得代码更加简洁易读。...
### Oracle的DECODE函数详解 #### 一、DECODE函数简介 在Oracle数据库中,`DECODE`函数是一种非常实用的条件判断函数,其功能类似于编程语言中的`IF`语句。通过比较输入值与一系列预设值,该函数能够根据匹配情况...
### Oracle中Decode()函数的有关用法 #### 一、Decode()函数简介 在Oracle数据库中,`DECODE()`函数是一种非常实用的功能,主要用于条件判断并返回特定的值。它提供了一种简单的方法来实现多分支逻辑判断,尤其是...
Oracle中的`DECODE`函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断,类似于编程语言中的三元运算符或者IF-THEN-ELSE结构。`DECODE`函数的基本语法是: ```sql DECODE(条件, 值1, 返回值1, 值2, ...
Oracle中的DECODE函数是一个非常实用的工具,它允许我们在SQL查询中进行条件判断,并返回相应的值。DECODE函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 1. **DECODE用于...
Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。 Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的...
### ORACLE DECODE函数在中国式报表统计查询中的组合条件实现 #### 一、引言 在Oracle数据库中,`DECODE`函数是一种非常实用的功能,主要用于条件判断并返回不同的值。它经常被用来进行简单的条件分支处理,尤其...
DECODE函数是Oracle PL/SQL中的一个独特特性,它在软件开发,尤其是数据库查询中,提供了一种简洁而高效的方法来进行条件判断和数据转换。这个函数在Oracle SQL中扮演了if-then-else逻辑的角色,允许开发者在SQL查询...
1. **DECODE函数** Oracle的`DECODE`函数是一种条件判断函数,它可以用于对数据进行简单的多值比较和返回。在自定义排序场景中,`DECODE`函数可以将不同的字段值映射到对应的排序值。以下是一个例子: ```sql ...
本文将以Oracle数据库中的`DECODE`函数为例,讲解如何通过创建视图实现数据的转换。 `DECODE`函数是Oracle数据库提供的一种条件判断函数,用于在表达式中执行简单的if-then逻辑。它的基本语法是: ```sql DECODE...
这个中文帮助文档是开发者和DBA们在进行Oracle数据库操作时的重要工具,它能提供详尽的函数解释、用法示例以及相关提示。 1. **SQL函数类别**: - 数学函数:如ABS、MOD、ROUND等,用于数学计算和数值处理。 - ...
Oracle 中 decode 函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ...