Dela via


json_tuple tabellvärdesgeneratorfunktion

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime

Returnerar flera JSON-objekt som en tuppeln.

Syntax

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

Argument

  • jsonStr: Ett STRING uttryck med välformulerad JSON.
  • pathN: En STRING literal med ett JSON-sökvägsuttryck.

Returer

En enskild rad som består av JSON-objekten.

Om det inte går att hitta NULL något objekt returneras för objektet.

  • Gäller för: markerad ja Databricks Runtime 12.1 och tidigare:

    json_tuple kan endast placeras i SELECT listan som roten för ett uttryck eller efter en LATERAL VY. När du placerar funktionen i SELECT listan får det inte finnas någon annan generatorfunktion i samma SELECT lista eller UNSUPPORTED_GENERATOR. MULTI_GENERATOR höjs.

  • Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 12.2 LTS och senare:

    Anrop från LATERAL VIEW-satsen eller så SELECT är listan inaktuell. Anropa json_tuple i stället som en table_reference.

Exempel

Gäller för: markerad ja Databricks Runtime 12.1 och tidigare:

> 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

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 12.2 LTS och senare:

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