如何使用oracle的decode函数进行多值判断

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

DBSNMP SYSTEM

SCOTT SYSTEM

OUTLN SYSTEM 2007-7-30 1

WMSYS SYSTEM 2007-7-30 1

ORDSYS SYSTEM 2007-7-30 1

ORDPLUGINS SYSTEM 2007-7-30 1

MDSYS SYSTEM 2007-7-30 1

CTXSYS DRSYS 2007-7-30 1

XDB XDB 2007-7-30 1

ANONYMOUS XDB 2007-7-30 1

WKSYS DRSYS 2007-7-30 1

WKPROXY DRSYS 2007-7-30 1

ODM ODM 2007-7-30 1

ODM_MTR ODM 2007-7-30 1

OLAPSYS CWMLITE 2007-7-30 1

RMAN TOOLS 2007-7-30 1

HR EXAMPLE 2007-7-30 1

OE EXAMPLE 2007-7-30 1

USERNAME DEFAULT_TABLESPACE LOCK_DATE

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

PM EXAMPLE 2007-7-30 1

SH EXAMPLE 2007-7-30 1

QS_ADM EXAMPLE 2007-7-30 1

QS EXAMPLE 2007-7-30 1

QS_WS EXAMPLE 2007-7-30 1

QS_ES EXAMPLE 2007-7-30 1

QS_OS EXAMPLE 2007-7-30 1

QS_CBADM EXAMPLE 2007-7-30 1

QS_CB EXAMPLE 2007-7-30 1

QS_CS EXAMPLE 2007-7-30 1

30 rows selected

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

USERNAME STATUS

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

SYS unlocked

SYSTEM unlocked

DBSNMP unlocked

SCOTT unlocked

OUTLN

WMSYS

ORDSYS

ORDPLUGINS

MDSYS

CTXSYS

XDB

ANONYMOUS

WKSYS

WKPROXY

ODM

ODM_MTR

OLAPSYS

RMAN

HR

OE

USERNAME STATUS

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

PM

SH

QS_ADM

QS

QS_WS

QS_ES

QS_OS

QS_CBADM

QS_CB

QS_CS

30 rows selected

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