广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    如何使用oracle的decode函数进行多值判断

    2018-04-09 07:41:27 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布

    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                        
    DBSNMP                         SYSTEM                        
    SCOTT                          SYSTEM                        
    OUTLN                          SYSTEM                         2007-7-30 1
    WMSYS                          SYSTEM                         2007-7-30 1
    ORDSYS                         SYSTEM                         2007-7-30 1
    ORDPLUGINS                     SYSTEM                         2007-7-30 1
    MDSYS                          SYSTEM                         2007-7-30 1
    CTXSYS                         DRSYS                          2007-7-30 1
    XDB                            XDB                            2007-7-30 1
    ANONYMOUS                      XDB                            2007-7-30 1
    WKSYS                          DRSYS                          2007-7-30 1
    WKPROXY                        DRSYS                          2007-7-30 1
    ODM                            ODM                            2007-7-30 1
    ODM_MTR                        ODM                            2007-7-30 1
    OLAPSYS                        CWMLITE                        2007-7-30 1
    RMAN                           TOOLS                          2007-7-30 1
    HR                             EXAMPLE                        2007-7-30 1
    OE                             EXAMPLE                        2007-7-30 1

    USERNAME                       DEFAULT_TABLESPACE             LOCK_DATE
    ------------------------------ ------------------------------ -----------
    PM                             EXAMPLE                        2007-7-30 1
    SH                             EXAMPLE                        2007-7-30 1
    QS_ADM                         EXAMPLE                        2007-7-30 1
    QS                             EXAMPLE                        2007-7-30 1
    QS_WS                          EXAMPLE                        2007-7-30 1
    QS_ES                          EXAMPLE                        2007-7-30 1
    QS_OS                          EXAMPLE                        2007-7-30 1
    QS_CBADM                       EXAMPLE                        2007-7-30 1
    QS_CB                          EXAMPLE                        2007-7-30 1
    QS_CS                          EXAMPLE                        2007-7-30 1

    30 rows selected

    SQL> select username,decode(lock_date,null,'unlocked') status from t;

    USERNAME                       STATUS
    ------------------------------ --------
    SYS                            unlocked
    SYSTEM                         unlocked
    DBSNMP                         unlocked
    SCOTT                          unlocked
    OUTLN                         
    WMSYS                         
    ORDSYS                        
    ORDPLUGINS                    
    MDSYS                         
    CTXSYS                        
    XDB                           
    ANONYMOUS                     
    WKSYS                         
    WKPROXY                       
    ODM                           
    ODM_MTR                       
    OLAPSYS                       
    RMAN                          
    HR                            
    OE                            

    USERNAME                       STATUS
    ------------------------------ --------
    PM                            
    SH                            
    QS_ADM                        
    QS                            
    QS_WS                         
    QS_ES                         
    QS_OS                         
    QS_CBADM                      
    QS_CB                         
    QS_CS                         

    30 rows selected

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告