« Oracle HowTo:如何使用Oracle case函数 | Blog首页 | 回家纪事-之五 »
Oracle HowTo:如何使用Oracle的Decode函数进行多值判断
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2005/10/oracle_howto_use_decode_function.html
Decode函数的语法结构如下:链接:https://www.eygle.com/archives/2005/10/oracle_howto_use_decode_function.html
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.
By eygle on 2005-10-05 12:06 | Comments (3) | HowTo | 462 |
谢谢
还好 不错
还好 不错