`

decode函数,decode(sign)

    博客分类:
  • SQL
阅读更多
//decode(字段或字段的运算,值1,值2,值3)

       这个函数运行的结果是,当字段或字段的运算的值等于值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”,达到了取较小值的目的。

//结合Lpad函数(Left pad 左填充lpad(字段名,填充长度,填充的字符) ),
如何使主键的值自动加1并在前面补0
select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis

比如我要查询某班男生和女生的数量分别是多少?
 
通常我们这么写:
select count(*) from 表 where 性别 = 男;

select count(*) from 表 where 性别 = 女;

要想显示到一起还要union一下,太麻烦了

用decode呢,只需要一句话

//select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表
分享到:
评论

相关推荐

    关于decode函数的使用

    ### 关于decode函数的使用详解 #### 函数概述 `decode()`函数在SQL语言中是一种常用的条件函数,它可以根据指定的表达式返回不同的值。这种功能对于数据转换、分类统计等场景非常有用。 #### 主要作用 `decode()`...

    decode函数.docx

    SELECT DECODE(SIGN(变量1-变量2),-1,变量1,变量2) FROM dual; ``` 这条语句比较变量1和变量2的大小,并返回较小的那个值。 decode 函数也可以与其他函数结合使用,例如 LPAD 函数,可以实现一些复杂的字符串处理...

    decode函数借鉴.pdf

    select decode(sign(salary - 8000), >=0, salary*1.15, , salary*1.2, salary) from employee 这比使用 if-then-else 语句或 choose case 语句要简洁得多。 DECODE 函数的应用非常广泛,例如,在 Oracle 系统中就...

    decode函数[归类].pdf

    【DECODE函数详解】 DECODE函数是Oracle PL/SQL中的一个独特特性,它在软件开发,尤其是数据库查询中,提供了一种简洁而高效的方法来进行条件判断和数据转换。这个函数在Oracle SQL中扮演了if-then-else逻辑的角色...

    decode函数.pdf

    Decode函数是Oracle数据库中用于实现条件逻辑的一个内置函数,它类似于编程语言中的switch-case语句或if-then-else语句。Decode函数可以对给定的表达式进行多个条件判断,并返回匹配条件的相应值。Decode函数广泛...

    Oracle 中 decode 函数用法

    在这个例子中,`SIGN`函数用于检查变量1和变量2之间的关系,如果变量1小于变量2,则返回-1,DECODE函数会返回变量1;反之,如果变量1大于或等于变量2,函数将返回变量2。 此外,DECODE函数常用于简化SQL查询中的...

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

    `DECODE()`函数可以结合其他函数一起使用,例如`SIGN()`函数,以实现比较两个数值的大小。 ```sql SELECT DECODE(SIGN(变量1 - 变量2), -1, 变量1, 变量2) FROM dual; ``` 这里,`SIGN(变量1 - 变量2)`用于比较两...

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

    `DECODE`函数可以结合`SIGN`函数来比较两个值的大小。`SIGN`函数返回一个整数值,表示其参数与0的关系:0表示相等,1表示正数,-1表示负数。 示例: ```sql SELECT DECODE(SIGN(var1 - var2), -1, var1, var2)...

    oracle中decode函数的使用方法

    这里的`SIGN`函数用于判断两个变量的大小关系,如果`变量1`小于`变量2`,`SIGN`函数返回-1,`DECODE`函数返回`变量1`,反之返回`变量2`。 2. **简化SQL查询**:在SQL语句中,`DECODE`可以替代复杂的IF-THEN-ELSE...

    Oracle-Decode()函数和CASE语句的比较

    `Decode()`函数相当于一个简单的`switch`语句,根据`SIGN(5 – 5)`的结果返回相应的字符串。 相比之下,`CASE`语句提供了一种更灵活和可扩展的方式来处理条件判断。它可以处理更复杂的逻辑,包括多种条件的组合和...

    SQL中 decode()函数简介

    DECODE函数也可以与其他函数结合使用,例如NVL和SIGN函数。NVL函数用于处理NULL值,如果`EXPR1`是NULL,NVL函数会返回`EXPR2`的值,否则返回`EXPR1`的值。在DECODE函数中,我们可以这样使用NVL: ```sql SELECT ...

    Oracle常用函数及实例.pdf

    本文主要探讨了Oracle中的一些常用函数,并通过实例解析了它们的基本用法,特别介绍了DECODE函数的使用技巧。 首先,我们来看数字函数。在Oracle中,ABS(x)函数用于计算数值的绝对值,例如ABS(-10)返回10。CEIL(x)...

    Oracle高级操作函数学习笔记

    DECODE函数是Oracle中的一个条件分支函数,它的功能类似于编程语言中的if-else if-else语句。DECODE函数的格式为: ``` DECODE(字段或表达式, 值1, 结果1, 值2, 结果2, ... , 默认结果) ``` 如果字段或表达式的值...

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

    Oracle的Decode()函数是PL/SQL中的一个非常实用的工具,尤其对于简化SQL查询和处理逻辑判断具有显著的优势。此函数允许我们在不使用复杂的IF-THEN-ELSE或CASE语句的情况下,实现条件判断和值的转换。由于Oracle是...

    Oracle常用的函数大全详细介绍

    1. **DECODE函数**:DECODE函数在查询中用于条件判断和返回值替换。其基本语法为`DECODE(expression, value1, result1, value2, result2, ..., default_result)`。如果`expression`等于`value1`,则返回`result1`;...

Global site tag (gtag.js) - Google Analytics