注册 | 登录 |
地方论坛门户及新闻和人才网址大全

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

时间:2021-07-21人气:-


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;

USERNAMEDEFAULT_TABLESPACELOCK_DATE
------------------------------ ------------------------------ ---------
SYSSYSTEM
SYSTEMSYSTEM
OUTLNSYSTEM
CSMIGSYSTEM
SCOTTSYSTEM
EYGLEUSERS
DBSNMPSYSTEM
WMSYSSYSTEM20-OCT-04

8 rows selected.


SQL> select username,decode(lock_date,null,"unlocked","locked") status from t;

USERNAMESTATUS
------------------------------ --------
SYSunlocked
SYSTEMunlocked
OUTLNunlocked
CSMIGunlocked
SCOTTunlocked
EYGLEunlocked
DBSNMPunlocked
WMSYSlocked

8 rows selected.

SQL> select username,decode(lock_date,null,"unlocked") status from t;

USERNAMESTATUS
------------------------------ --------
SYSunlocked
SYSTEMunlocked
OUTLNunlocked
CSMIGunlocked
SCOTTunlocked
EYGLEunlocked
DBSNMPunlocked
WMSYS

8 rows selected.


上篇:Oracle Decode()函数使用技巧分享

下篇:oracle数据库在客户端建立dblink语法