• 如何使用Oracle的Decode函数进行多值判断


    作者:eygle | English Version 【转载时请以超链接形式标明文章和作者信息及本声明
    链接:

    Decode函数的语法结构如下:

    decode (expression, search_1, result_1)
    decode (expression, search_1, result_1, search_2, result_2)
    decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
    
    decode (expression, search_1, result_1, default)
    decode (expression, search_1, result_1, search_2, result_2, default)
    decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
    

    decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
    以下是一个简单测试,用于说明Decode函数的用法:
    SQL> create table t as select username,default_tablespace,lock_date from dba_users;
    
    Table created.
    
    SQL> select * from t;
    
    USERNAME                       DEFAULT_TABLESPACE             LOCK_DATE
    ------------------------------ ------------------------------ ---------
    SYS                            SYSTEM
    SYSTEM                         SYSTEM
    OUTLN                          SYSTEM
    CSMIG                          SYSTEM
    SCOTT                          SYSTEM
    EYGLE                          USERS
    DBSNMP                         SYSTEM
    WMSYS                          SYSTEM                         20-OCT-04
    
    8 rows selected.
    
    
    SQL> select username,decode(lock_date,null,'unlocked','locked') status from t;
    
    USERNAME                       STATUS
    ------------------------------ --------
    SYS                            unlocked
    SYSTEM                         unlocked
    OUTLN                          unlocked
    CSMIG                          unlocked
    SCOTT                          unlocked
    EYGLE                          unlocked
    DBSNMP                         unlocked
    WMSYS                          locked
    
    8 rows selected.
    
    SQL> select username,decode(lock_date,null,'unlocked') status from t;
    
    USERNAME                       STATUS
    ------------------------------ --------
    SYS                            unlocked
    SYSTEM                         unlocked
    OUTLN                          unlocked
    CSMIG                          unlocked
    SCOTT                          unlocked
    EYGLE                          unlocked
    DBSNMP                         unlocked
    WMSYS
    
    8 rows selected.
    

  • 相关阅读:
    BestCoder Round #61 (div.2)
    CCPC L(水)
    CCPC A(模拟)
    暗网是什么?如何进入暗网?
    社会工程学:关于一些信息收集的网站
    Flask开发系列之Web表单
    Flask开发系列之模板
    [转]Python 资源大全中文版
    python字符串/列表/字典互相转换
    Flask开发系列之Flask+redis实现IP代理池
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/1779471.html
Copyright © 2020-2023  润新知