GBase 8s V8.8 SQL 指南:教程-5.1.7(7)

DECODE 函数
可以使用 DECODE 函数来将具有一个值的表达式转换为另一个值。DECODE 函数具有以
下格式:
DECODE(test, a, a_value, b, b_value, ..., n, n_value, exp_m )
在通常情况下,当 a 等于 test 时 DECODE 函数返回 a_value,当 b 等于 test 时,返回 b_value,
当 n 等于 test 时返回 n_value 。
如果有若干表达式与 test 匹配,那么 DECODE 返回找到的第一个表达式的 n_value。如果
没有表达式与 test 匹配,那么 DECODE 返回 exp_m;;如果没有表达式与 test 匹配并且不存
在 exp_m,那么 DECODE 返回 NULL。
限制: DECODE 函数不支持类型为 TEXT 或 BYTE 的参数。
假设包括 emp_id 和 evaluation 列的 employee 表存在。此外还假设对 employee 表执行下列
查询则返回以下所示的行。
图: 查询
SELECT emp_id, evaluation FROM employee;
图: 查询结果

在某些情况下,您可能想要转换一组值。例如:假设您想要将前一示例中 evaluation 列的描
述值转换为相应的数字值。下列查询显示如何使用DECODE 函数来针对 employee 表中的每
一行将 evaluation 列中的值转换为数字值。
图: 查询

图: 查询结果

可为 DECODE 函数的参数指定任何数据类型,只要这些参数满足以下需求:
参数 test 、a 、b 、... 、n 都具有相同的数据类型或求值为公共兼容的数据类型。
参数 a_value 、b_value 、... 、n_value 都具有相同的数据类型或求值为公共兼容的数据类型。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值