注册

sql中decode用法

decode 函数根据输入表达式值将值转换为另一个值,语法为 decode(expression, value1, result1, value2, result2, ..., default_result)。函数的参数包括要评估的表达式、要匹配的值、匹配时的结果以及不匹配时的默认结果。decode 函数可用于实现条件逻辑,返回与表达式匹配的值或默认值。例如,select customer_id, decode(customer_level, 'gold', 0.10, 'silver', 0.

SQL 中 DECODE 函数用法

DECODE 函数是一个内置函数,用于根据输入表达式的值将一个值或一组值转换为另一个值或一组值。

语法:

DECODE(expression, value1, result1, value2, result2, ..., default_result)

参数:

  • expression:要评估的表达式。
  • value1, value2, ...:要匹配 expression 的值。
  • result1, result2, ...:当 expression 与相应的值匹配时,返回的结果。
  • default_result:当 expression 不与任何指定值匹配时,返回的结果(可选)。

用法:

DECODE 函数可以用于在 SQL 查询中实现条件逻辑。如果 expression 与指定的任何值匹配,则返回相应的 result。否则,返回 default_result。

例如,要查找客户的折扣率,我们可以使用以下 DECODE 函数:

SELECT customer_id,
       DECODE(customer_level,
              'Gold', 0.10,
              'Silver', 0.05,
              'Bronze', 0.02,
              0.00) AS discount_rate
FROM customers;

在这个示例中:

  • expression 是 customer_level。
  • value1、value2 和 value3 是 'Gold'、'Silver' 和 'Bronze',它们是 customer_level 的可能值。
  • result1、result2 和 result3 是 0.10、0.05 和 0.02,它们是与相应 customer_level 匹配的折扣率。
  • default_result 是 0.00,它是当 customer_level 不与任何指定值匹配时返回的折扣率。

因此,该查询将返回客户 ID 和基于其 customer_level 计算的折扣率。

以上就是sql中decode用法的详细内容,更多请关注CTO智库其它相关文章!