使用Oracle的Decode函数进行多值判断
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.
相关推荐
bianxq 2020-05-16
LuoXinLoves 2020-03-26
Streamoutput 2020-05-01
Streamoutput 2020-04-30
zhangxiaojiakele 2019-12-21
Nicolase 2019-12-19
us0 2019-09-05
yanghuatong 2013-05-04
不懂 2019-07-07
qiguiting 2019-07-01
CoreyJia 2015-05-29
handle0 2011-03-18
linkincsdn 2013-07-04
87497718 2012-04-18
89367267 2011-09-17
lester 2018-08-31
katnisswuyuechen 2018-12-21