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() 함수를 사용하여 구문 분석한 결과입니다.
주의
- 추출하려면 다음을
OBJECT
수행할 수 있습니다.-
variant_get JSON 경로 식을 사용하여 형식으로 탐색하는 함수입니다
OBJECT
. -
: (콜론 기호) 연산 자를
OBJECT
사용하여 JSON 경로 식을 구문 분석합니다. -
OBJECT
입니다. -
cast 함수 또는 :: (콜론 콜론 기호) 연산자를 사용하여 STRUCT 또는
OBJECT
로 캐스팅 합니다. -
try_cast 함수 또는 ?:: (삼중 콜론 기호) 연산자를 사용하여 STRUCT 또는
OBJECT
로 캐스팅 합니다.
-
variant_get 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"}