卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章56372本站已运行405

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用法

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中怎么删除字段中部分字符串
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏