WEB开发网
开发学院数据库Oracle 如何使用Oracle的Decode函数进行多值判断 阅读

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

 2008-12-17 13:06:18 来源:WEB开发网   
核心提示:Decode函数的语法结构如下:decode (expression, search_1, result_1)decode (expression, search_1, result_1, search_2, result_2)decode (expression, search_1, result_1, search

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
  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,decode(lock_date,null,'unlocked') status from t;
  USERNAME            STATUS
  ------------------------------ --------
  SYS              unlocked
  SYSTEM             unlocked
  OUTLN             unlocked
  CSMIG             unlocked
  SCOTT             unlocked
  EYGLE             unlocked
  DBSNMP             unlocked
  WMSYS

8 rows selected.

Tags:如何 使用 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接