Oracle/PLSQL: Decode Function

本文详细介绍了 Oracle/PLSQL 中的 Decode 函数,该函数的功能类似于 IF-THEN-ELSE 语句。Decode 函数可以用于 SQL 查询中,通过比较表达式的值来返回不同的结果。文章还提供了一个具体的示例,展示了如何使用 Decode 函数以及它与 IF-THEN-ELSE 语句之间的等效性。
Oracle/PLSQL, the decode function has the functionality of an IF-THEN-ELSE statement.

The syntax for the decode function is:
[code]
decode( expression , search , result [, search , result]... [, default] )
[/code]
expression is the value to compare.

search is the value that is compared against expression.

result is the value returned, if expression is equal to search.

default is optional. If no matches are found, the decode will return default. If default is omitted, then the decode statement will return null (if no matches are found).

Applies To:

* Oracle 9i, Oracle 10g, Oracle 11g


For example:

You could use the decode function in an SQL statement as follows:
[code]
SELECT supplier_name,
decode(supplier_id, 10000, 'IBM',
10001, 'Microsoft',
10002, 'Hewlett Packard',
'Gateway') result
FROM suppliers;
[/code]

The above decode statement is equivalent to the following IF-THEN-ELSE statement:
[code]
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;
[/code]

The decode function will compare each supplier_id value, one by one.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值