`
dengwanchuan
  • 浏览: 47581 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

Decode的用法,多值判断

阅读更多

Decode函数的语法结构如下: 


Sql代码  收藏代码
  1. decode (expression, search_1, result_1)  
  2. decode (expression, search_1, result_1, search_2, result_2)  
  3. decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)  
  4.   
  5. decode (expression, search_1, result_1, default)  
  6. decode (expression, search_1, result_1, search_2, result_2, default)  
  7. decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)  


decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。 
以下是一个简单测试,用于说明Decode函数的用法: 

Sql代码  收藏代码
  1. SQL> create table t as select username,default_tablespace,lock_date from dba_users;  
  2.   
  3. Table created.  
  4.   
  5. SQL> select * from t;  
  6.   
  7. USERNAME                       DEFAULT_TABLESPACE             LOCK_DATE  
  8. ------------------------------ ------------------------------ ---------  
  9. SYS                            SYSTEM  
  10. SYSTEM                         SYSTEM  
  11. OUTLN                          SYSTEM  
  12. CSMIG                          SYSTEM  
  13. SCOTT                          SYSTEM  
  14. EYGLE                          USERS  
  15. DBSNMP                         SYSTEM  
  16. WMSYS                          SYSTEM                         20-OCT-04  
  17.   
  18. rows selected.  
  19.   
  20.   
  21. SQL> select username,decode(lock_date,null,'unlocked','locked') status from t;  
  22.   
  23. USERNAME                       STATUS  
  24. ------------------------------ --------  
  25. SYS                            unlocked  
  26. SYSTEM                         unlocked  
  27. OUTLN                          unlocked  
  28. CSMIG                          unlocked  
  29. SCOTT                          unlocked  
  30. EYGLE                          unlocked  
  31. DBSNMP                         unlocked  
  32. WMSYS                          locked  
  33.   
  34. rows selected.  
  35.   
  36. SQL> select username,decode(lock_date,null,'unlocked') status from t;  
  37.   
  38. USERNAME                       STATUS  
  39. ------------------------------ --------  
  40. SYS                            unlocked  
  41. SYSTEM                         unlocked  
  42. OUTLN                          unlocked  
  43. CSMIG                          unlocked  
  44. SCOTT                          unlocked  
  45. EYGLE                          unlocked  
  46. DBSNMP                         unlocked  
  47. WMSYS  
  48.   
  49. rows selected.  
分享到:
评论

相关推荐

    关于decode函数的使用

    `decode()`的主要作用在于将查询结果转化为其他形式的值,通常用于数据的格式化展示或是逻辑判断后的值替换。 #### 使用方法 `decode()`函数的基本语法如下: ```sql SELECT DECODE(columnname, 值1, 翻译值1, 值2,...

    关于oracle decode函数的用法

    为了计算每年1月的销售总额,使用了`SUM(DECODE(SUBSTRB(month,5,2),'01',sell,0))`,这里的`SUBSTRB`函数用于从`month`字段中截取月份部分,然后DECODE函数检查月份是否为'01',如果是,则返回该行的`sell`值,否则...

    ORACLE 列转行 DECODE函数用法

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

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

    它提供了一种简单的方法来实现多分支逻辑判断,尤其是在SQL查询中,能够避免使用复杂的流程控制语句如`IF-THEN-ELSE`等。 #### 二、基本语法与用法 `DECODE()`函数的基本语法如下: ```sql DECODE(value, if1, ...

    Oracle中Decode()函数使用技巧

    Decode()函数常与NVL()函数一起使用,处理可能的NULL值。NVL()函数用于将NULL替换为指定的值。例如: ``` DECODE(NVL(column, 'default'), 'value', 'result') ``` 这个例子中,如果`column`是NULL,先用`'...

    Decode函数的用法(视图)

    `DECODE`函数是Oracle数据库提供的一种条件判断函数,用于在表达式中执行简单的if-then逻辑。它的基本语法是: ```sql DECODE(expression, value1, result1, [value2, result2, ...], [default]) ``` - `...

    SQL语句的DECODE和NVL

    本文将详细介绍 DECODE 和 NVL 函数的使用方法和实践应用。 一、DECODE 函数 DECODE 函数是 Oracle 公司独家提供的功能,它是一个功能很强的函数,可以实现复杂的逻辑判断和数据处理。DECODE 函数的语法如下: ...

    Oracle 中 decode 函数用法

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

    decode函数[归类].pdf

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

    DECODE解码代码

    DECODE函数是数据库管理系统,尤其是Oracle数据库中常用的一种解析函数,它主要用于在处理数据时进行条件判断和赋值。...但同时也要根据所使用的数据库系统选择合适的方法,因为并非所有系统都提供DECODE函数。

    decode函数与case when 的妙用

    比如,在处理大量数据并需要进行多条件判断时,可以先用`DECODE`进行初步过滤,然后在`CASE WHEN`中进行更精细的操作。这样既能利用`DECODE`的效率,又能利用`CASE WHEN`的灵活性。 在数据库源码和工具开发中,理解...

    oracle中nvl、decode、trim、rtrim的常见用法

    DECODE函数类似于一个条件语句,可以用于比较多个值,并根据结果返回特定值。其语法如下: ``` DECODE(column_name, search1, result1, search2, result2, ..., default_result) ``` 这里: - `column_name`:需要...

    oracle中decode函数的使用方法

    `DECODE`函数的灵活性在于它可以处理多个可能的值,并且可以与其它函数如`LPAD`结合使用,增加数据处理的复杂性,如在生成自动递增的序列号并添加前导零: ```sql SELECT LPAD(DECODE(COUNT(记录编号), 0, 1, MAX...

    oracle的decode函数

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

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

    以下将详细介绍`DECODE`函数的使用方法及其示例。 1. **基本用法** `DECODE`函数的基本形式如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 这个函数的意思是:如果`value`等于`if1`,则...

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

    在Oracle数据库中,面对多值判断的场景,我们经常需要对数据进行复杂的逻辑处理。在这个问题中,我们有一个专业表ZY_TAB,包含专业名称(ZY_NAME),专业代码(ZY_CODE),专业类型(ZY_TYPE)以及设置时间(ZY_TIME)。专业...

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

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的...在实际应用中,应根据具体需求和代码的可维护性来决定使用哪种方法。

Global site tag (gtag.js) - Google Analytics