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

王朝oracle·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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

------------------------------ ------------------------------ ---------

SYSSYSTEM

SYSTEM SYSTEM

OUTLNSYSTEM

CSMIGSYSTEM

SCOTTSYSTEM

EYGLEUSERS

DBSNMP SYSTEM

WMSYSSYSTEM 20-OCT-04

8 rows selected.

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

USERNAME STATUS

------------------------------ --------

SYSunlocked

SYSTEM unlocked

OUTLNunlocked

CSMIGunlocked

SCOTTunlocked

EYGLEunlocked

DBSNMP unlocked

WMSYSlocked

8 rows selected.

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

USERNAME STATUS

------------------------------ --------

SYSunlocked

SYSTEM unlocked

OUTLNunlocked

CSMIGunlocked

SCOTTunlocked

EYGLEunlocked

DBSNMP unlocked

WMSYS

8 rows selected.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航