在 pl/sql 中,decode 函数可根据条件返回不同值,用法如下:decode(expr, value1, result1, value2, result2, …, default_result)检查 expr 与 value1 是否相等,相等则返回 result1。依次检查 expr 与所有 value 值,相等则返回相应 result。若无匹配值,则返回 default_result(可选,无则返回 null)。
Oracle DECODE 函数用法
DECODE 函数介绍
DECODE 函数是一种 PL/SQL 函数,用于根据指定条件返回不同的值。它允许在单一的 SQL 语句中对多个条件进行评估。
语法
DECODE (expr, value1, result1, value2, result2, ..., default_result)
登录后复制
参数
- expr: 要评估的表达式。
- value1, value2, …: 要检查的条件值。
- result1, result2, …: 如果 expr 与相应 value 匹配,则返回的结果值。
- default_result: 如果 expr 不与任何 value 匹配,则返回的默认结果。
用法
DECODE 函数的用法如下:
- 检查 expr 与 value1 是否相等。如果相等,则返回 result1。
- 如果 expr 与 value1 不相等,则检查 expr 与 value2 是否相等。如果相等,则返回 result2。
- 依此类推,检查 expr 与所有 value 值。
- 如果 expr 与任何 value 值都不相等,则返回 default_result。
示例
以下示例演示了如何使用 DECODE 函数来判断客户类别:
SELECT customer_id, DECODE( customer_type, 'Platinum', 'Premium Customer', 'Gold', 'Preferred Customer', 'Silver', 'Standard Customer', 'Bronze', 'New Customer' ) AS customer_type_description FROM customers;
登录后复制
结果
customer_id customer_type_description ----------- -------------------------- 1 Premium Customer 2 Preferred Customer 3 Standard Customer 4 New Customer
登录后复制
注意事项
- DECODE 函数只能返回一个值。如果需要返回多个值,请使用 CASE 语句。
- expr 可以是任何类型的表达式,例如数字、字符串、日期或布尔值。
- value 和 result 可以是任何类型的值,包括数字、字符串、日期或布尔值。
- default_result 是可选的。如果未指定,则 DECODE 函数将返回 NULL。
以上就是Oracle decode函数用法的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:周斌,转转请注明出处:https://www.dingdanghao.com/article/541068.html