共用方式為


json_tuple 數據表值產生器函式

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

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

語法

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

引數

  • jsonStr:具有格式正確的 JSON 的 STRING 運算式。
  • pathN:具有 JSON 路徑的 STRING 常值。

傳回

由 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;