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

转载 2007年09月23日 13:10:00
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

相关文章推荐

Oracle中Decode()函数使用技巧

decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。       DECODE函数是OR...

Oracle中Decode()函数使用技巧

decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。       DECODE函数是OR...

Oracle中Decode()函数使用技巧

decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。 DECODE函数是ORACLE PL/S...

Oracle中Decode()函数使用技巧

decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。 DECODE函数是ORACLE...

Oracle中Decode()函数使用技巧

来源:http://database.ctocio.com.cn/tips/489/6064989.shtml DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACL...

Oracle数据库Decode()函数的使用方法

[摘要] DECODE函数的作用:它可以将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。[关键字] OracleDecode(...

Oracle中Decode()函数使用技巧

decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。       DECODE函...

Oracle 中 nvl()、decode()和日期形式转换函数的使用

日期转换形式 to_char(columnofdate,'YYYYMMDD HH24:MI:SS') 例:select empno,ename,to_char(hiredate,'YYYY-M...

Oracle中Decode()函数使用技巧

Oracle中Decode()函数使用技巧 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。D...

Oracle中Decode()函数使用技巧

Oracle中Decode()函数使用技巧 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。D...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)