decode (key) 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 9.1 及更高版本

返回与键匹配的值。

语法

decode(expr, { key1, value1 } [, ...] [, defValue])

参数

  • expr:任何可比较类型的表达式。
  • keyN:一个与 expr 的类型匹配的表达式。
  • valueN:与 defValue 和其他 valueN 共享最不常见类型的表达式。
  • defValue:与 valueN 共享最不常见类型的可选表达式。

返回

结果属于 valueNdefValue最不常见类型

该函数返回 keyN 匹配其 valueN 的首个 expr。 对于此函数,NULL 匹配 NULL。 如果没有 keyN 匹配 expr,则返回 defValue(若存在)。 如果未指定 defValue,则结果为 NULL

示例

> SELECT decode(5, 6, 'Spark', 5, 'SQL', 4, 'rocks');
 SQL

> SELECT decode(NULL, 6, 'Spark', NULL, 'SQL', 4, 'rocks');
 SQL

> SELECT decode(7, 6, 'Spark', 5, 'SQL', 'rocks');
 rocks