使用Oracle的Decode函数进行多值判断

前端之家收集整理的这篇文章主要介绍了使用Oracle的Decode函数进行多值判断前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Decode函数的语法结构如下:

代码如下:
decode (expression,search_1,result_1)
decode (expression,result_1,search_2,result_2)
decode (expression,result_2,....,search_n,result_n)

decode (expression,default)
decode (expression,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,"unlocked") status from t;

USERNAME STATUS
------------------------------ --------
SYS unlocked
SYSTEM unlocked
OUTLN unlocked
CSMIG unlocked
SCOTT unlocked
EYGLE unlocked
DBSNMP unlocked
WMSYS

8 rows selected.

猜你在找的Oracle相关文章