oracle/plsql中decode()函数用法

作者:袖梨 2022-06-29

在Oracle/ PLSQL的,DECODE函数有一个IF - THEN - ELSE语句的功能。

DECODE函数的语法是:
decode( expression , search , result [, search , result]... [, default] )

expression值进行比较。
search 是对表达相比的价值。
result是返回的值,如果表达式等于搜索。

default 是可选的。如果没有找到匹配,解码将返回默认值。如果省略了默认,然后解码语句将返回null(如果没有找到匹配)。
撤消修改

Applies To:

Oracle 9i, Oracle 10g, Oracle 11g

实例

SELECT supplier_name,
decode(supplier_id, 10000, 'IBM',
 10001, 'Microsoft',
 10002, 'Hewlett Packard',
  'Gateway') result
FROM suppliers;

上述解码的语句与以下的IF - THEN- ELSE语句是等效的:

IF supplier_id = 10000 THEN
     result := 'IBM';

ELSIF supplier_id = 10001 THEN
    result := 'Microsoft';

ELSIF supplier_id = 10002 THEN
    result := 'Hewlett Packard';

ELSE
    result := 'Gateway';

END IF;


DECODE函数将一个接一个比较每个supplier_id价值。

 

相关文章

精彩推荐