다음을 통해 공유


variant_explode table값을 갖는 함수

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 15.3 이상

input을(를) 중첩 해제하여 set개의 행을 반환합니다.

Databricks Runtime 16.1 이상에서 이 함수는 명명된 매개 변수 호출지원합니다.

구문

variant_explode ( input )

인수

  • variantExpr VARIANT: 개체 또는 VARIANT를 나타내는 식입니다VARIANT ARRAY.

반품

VARIANT ARRAY요소 또는 VARIANT 개체의 키와 values로 구성된 행의 set. variant_explode에 의해 생성된 columns는 다음과 같습니다.

  • pos INT
  • key STRING
  • value VARIANT.

VARIANT 개체를 분해할 때, 출력인 keyvaluecolumns은 개체의 키와 values를 나타냅니다. VARIANT 배열을 분해할 때, 출력 key은 항상 NULL이며, 출력 valuecolumn는 배열의 요소를 나타냅니다.

input 개체NULL이거나 개체가 아니면 행이 생성되지 않습니다 VARIANT ARRAYVARIANT. 이 경우 단일 NULLvalues 행을 생성하기 위해서는 variant_explode_outer 함수를 사용하십시오.

예제

-- Simple example
> SELECT *
   FROM variant_explode(parse_json('[1, "a", {"b": "hello"}]'));
  pos  key  value
  ---  ---- -------------
    0  NULL 1
    1  NULL "a"
    2  NULL {"b":"hello"}

> SELECT *
    FROM variant_explode(parse_json('{"foo":1,"bar":"hello"}'));
  pos  key  value
  ---  ---- -------------
    0  bar  "hello"
    1  foo  1

-- Using lateral correlation
> SELECT t.value AS outer, u.value AS inner
    FROM variant_explode(parse_json('[[1, 2], [3, 4]]')) AS t,
    LATERAL variant_explode(t.value) AS u;
  outer inner
  ----- -----
  [1,2]     1
  [1,2]     2
  [3,4]     3
  [3,4]     4