Oracle-函数Decode进行多值判断
decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值
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.
文章转载http://www.jb51.net/article/36427.htm
知识只有共享才能传播,才能推崇出新的知识,才能学到更多,这里写的每一篇文字/博客,基本都是从网上查询了一下资料然后记录下来,也有些是原滋原味搬了过来,也有时加了一些自己的想法