分享方式:


json_tuple 數據表值產生器函式

適用於: 檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime

以 Tuple 形式傳回多個 JSON 物件。

語法

json_tuple(jsonStr, path1 [, ...] )

引數

  • jsonStrSTRING:具有格式正確的 JSON 的運算式。
  • pathNSTRING:具有 JSON 路徑表示式常值。

傳回

由 JSON 對象組成的單一數據列。

如果找不到任何物件, NULL 則會針對該物件傳回 。

範例

適用於: 檢查標示為是 Databricks Runtime 12.1 和更早版本:

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'b'), 'Spark SQL';
 1  2  Spark SQL

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), 'Spark SQL';
 1  NULL  Spark SQL

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), json_tuple('{"c":1, "d":2}', 'c', 'd'), 'Spark SQL';
 Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR

適用於: 檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime 12.2 LTS 和更新版本:

> SELECT j.*, 'Spark SQL' FROM json_tuple('{"a":1, "b":2}', 'a', 'b') AS j;
 1  2  Spark SQL

> SELECT j.*, 'Spark SQL' FROM json_tuple('{"a":1, "b":2}', 'a', 'c') AS j;
 1  NULL  Spark SQL

> SELECT j1.*, j2.*, 'Spark SQL'
 FROM json_tuple('{"a":1, "b":2}', 'a', 'c') AS j1,
      json_tuple('{"c":1, "d":2}', 'c', 'd') AS j2;