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.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值