`

oracle case和decode的用法

阅读更多

case在SQL中有两种写法,先建立一个表
create table salgrade(grade int, sal int);

insert into salgrade values(1,1000);
insert into salgrade values(2,2000);
insert into salgrade values(3,3000);
commit;

第一种写法,简单写法:
select grade,sal,
  case grade
        when 1 then 'low'
        when 2 then 'middle'
        else 'high'
  end
from salgrade;

第二种写法,查找写法:
SELECT grade,sal,
    case when sal <=1000 then 'low'
        when sal <=2000 then 'middle'
        else 'high'
    end
  FROM salgrade;

decode只能代替第一种写法:
select grade,sal,decode(grade,1,'low',2,'middle','high') from salgrade;

 

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

分享到:
评论

相关推荐

    ORACLE 列转行 DECODE函数用法

    下面我们将详细讲解DECODE函数的使用方法以及如何在列转行操作中应用它。 DECODE函数的基本语法如下: ```sql DECODE(column, value1, result1, value2, result2, ..., default_result) ``` 这里`column`是要检查的...

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

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

    Oracle 中 decode 函数用法

    Oracle中的DECODE函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断和返回相应的值。这个函数类似于IF-THEN-ELSE语句的简写形式,减少了编写复杂逻辑的代码量,使得SQL语句更加简洁易读。 DECODE...

    Oracle中Decode()函数使用技巧

    下面将详细介绍Oracle Decode()函数的使用技巧。 1. **基本语法**: Decode()函数的基本语法如下: ``` DECODE(source, value1, result1, value2, result2, ..., default_value) ``` 其中,`source`是要检查的...

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    decode函数与case when 的妙用

    在阅读博客文章《decode函数与case when 的妙用》时,作者可能分享了一些具体的示例和使用技巧,帮助我们更好地理解和掌握这两种方法。通过学习和实践,我们可以将这些知识应用于日常的数据库操作,优化数据处理流程...

    oracle的decode函数

    为了更好地理解`DECODE`函数的使用方法,我们来看一个具体的例子。假设有一个名为`checkup`的表,其中包含`checkup_type`和`blood_test_flag`两个字段,`blood_test_flag`用于标识是否进行了血液测试,其中`Y`表示...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    Oracle的`DECODE`函数是一种条件判断函数,它可以用于对数据进行简单的多值比较和返回。在自定义排序场景中,`DECODE`函数可以将不同的字段值映射到对应的排序值。以下是一个例子: ```sql SELECT * FROM table_...

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

    DECODE函数在Oracle数据库中非常灵活,可以根据不同的需求进行条件判断和值的转换,极大地简化了SQL查询的复杂性。它可以处理多个条件,同时返回一个明确的结果,是数据库查询中不可或缺的一部分。

    oracle case when 语句的用法详解

    综上所述,Oracle的CASE WHEN语句是数据库查询中处理条件分支的重要工具,可以在SELECT、WHERE和GROUP BY等不同场景中使用,提供了一种灵活的方式来构造复杂的逻辑判断。了解并熟练运用CASE WHEN,能够显著提升SQL...

    Oracle常用函数和使用方法

    本文将详细介绍Oracle中一些最常用的函数及其使用方法,这些函数包括`DECODE`、`ABS`、`CEIL`、`MOD`、`ROUND`、`TRUNC`、`CONCAT`、`LOWER`和`LPAD`。 #### 二、DECODE函数:条件判断与转换 **功能描述**:`...

    oracle decode

    Oracle的DECODE函数是数据库...通过学习和理解DECODE函数以及触发器的使用,你可以更好地掌握Oracle数据库的高级特性和功能,提升数据库管理和开发的效率。同时,实践操作和案例分析也是深入理解这些概念的关键步骤。

    [数据库] Oracle使用CASE判断解决多值问题1

    为了简化这一过程,我们可以利用Oracle SQL的内置函数,如DECODE和CASE WHEN,直接在数据库层面进行处理。 首先,尝试使用DECODE函数。DECODE函数允许我们根据指定的条件返回不同的值。例如,DECODE(ZY_TYPE, '国家...

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

    然而,在面对复杂的多条件组合统计需求时,`DECODE`函数的应用可能会变得相对繁琐,这时往往更倾向于使用`CASE WHEN`语句或创建视图的方法来解决。不过,如果出于特定原因需要坚持使用`DECODE`函数,那么了解如何...

    oracle和db2的区别

    - 支持`DECODE`函数和`CASE`语句来实现条件判断。 - 例如:`DECODE(column_name, value1, result1, value2, result2, default_result)` - **DB2**: - 主要使用`CASE`表达式来进行条件判断。 #### 10. 子查询 -...

    oracle处理空值的方法

    Oracle提供了多种方法来处理空值,包括使用NVL、NVL2、COALESCE函数,以及CASE和DECODE语句。下面将详细介绍这些方法及其应用场景。 ### 1. NVL函数 NVL(expr1, expr2)函数用于替换空值。当expr1为NULL时,NVL函数...

    mysql仿oracle的decode效果查询

    在MySQL中,由于没有`DECODE`函数,我们可以使用`CASE`语句来达到相同的效果: ```sql select sum(case when c = '1' then A else B end) from tmp; ``` 这里,`CASE`语句在`c`等于'1'时返回`A`列的值,否则返回`B...

Global site tag (gtag.js) - Google Analytics