• 如何使用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.
    

  • 相关阅读:
    走线规范-标识
    python学习之网路操作
    python学习之函数
    RTT学习之软件包
    RT_THREAD之组件学习
    RT_THREAD之nano学习
    物联网相关的模块
    JavaScript学习笔记之二
    javascript完美实现图片拖动改变顺序
    响应式WEB设计的9项基本原则
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/1779471.html
Copyright © 2020-2023  润新知