使用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.
上一篇: 小程序实现多选框功能