다음을 통해 공유


OBJECT 형식

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

필드의 설명에 따라 구조화된 set를 사용하여 VARIANT에서 values을 나타냅니다.

필드 시퀀스에서 설명하는 구조화된 형식을 저장하고 처리하려면 STRUCT를 참조하세요.

Important

OBJECT은 tablecolumn에 저장할 수 없습니다. schema_of_variant 또는 schema_of_variant_agg 호출할 때만 노출됩니다. 형식을 OBJECT 사용하려면 STRUCT 또는 MAP로 캐스팅해야 합니다.

구문

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: 필드 이름을 지정하는 identifier. 이름은 고유해야 합니다.
  • fieldType: 임의 데이터 형식입니다.

제한

형식은 0보다 크거나 같은 모든 필드 수를 지원합니다.

리터럴

Values은 OBJECT 외부에서 VARIANT없이 만들 수 없습니다. JSON 문자열 VARIANT 을 parse_json() 함수를 사용하여 구문 분석한 결과입니다.

주의

예제

> SELECT schema_of_variant(parse_json('{"key": 123, "data": 5.1 }'));
  OBJECT<data: DECIMAL(2,1), key: BIGINT>

-- Casting from a an OBJECT to a STRUCT is by name, because OBJECT fields are not ordered.
> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<data: DECIMAL(2,1), key: BIGINT>);
  {"data":5.1,"key":123}

> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<key: BIGINT, data: DECIMAL(2,1)>);
  {"key":123, "data":5.1}

> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS MAP<STRING, DECIMAL(20, 1)>);
  {"data":"5.1","key":"123.0"}