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

来源:互联网 发布:淘宝详情页素材网站 编辑:程序博客网 时间:2024/05/15 23:54
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                            SYSTEMSYSTEM                         SYSTEMOUTLN                          SYSTEMCSMIG                          SYSTEMSCOTT                          SYSTEMEYGLE                          USERSDBSNMP                         SYSTEMWMSYS                          SYSTEM                         20-OCT-048 rows selected.SQL> select username,decode(lock_date,null,'unlocked','locked') status from t;USERNAME                       STATUS------------------------------ --------SYS                            unlockedSYSTEM                         unlockedOUTLN                          unlockedCSMIG                          unlockedSCOTT                          unlockedEYGLE                          unlockedDBSNMP                         unlockedWMSYS                          locked8 rows selected.SQL> select username,decode(lock_date,null,'unlocked') status from t;USERNAME                       STATUS------------------------------ --------SYS                            unlockedSYSTEM                         unlockedOUTLN                          unlockedCSMIG                          unlockedSCOTT                          unlockedEYGLE                          unlockedDBSNMP                         unlockedWMSYS8 rows selected.
 
原创粉丝点击