다음을 통해 공유


STRUCT 형식

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

필드 시퀀스로 설명된 구조체의 값을 나타냅니다.

구문

STRUCT < [fieldName [:] fieldType [NOT NULL] [COLLATE collationName] [COMMENT str] [, …] ] >
  • fieldName: 필드 이름을 지정하는 식별자입니다. 이름은 고유하지 않아도 됩니다.

  • fieldType: 임의 데이터 형식입니다.

  • NOT NULL: 구조체를 지정하면 이 필드의 값이 NULL않습니다.

  • COLLATE collationName: 선택적으로 STRINGfieldType에 사용할 정렬 순서를 지정합니다.

    지정하지 않으면 정렬 규칙은 UTF8_BINARY입니다.

  • COMMENT str: 필드를 설명하는 선택적 문자열 리터럴입니다.

제한

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

리터럴

리터럴 배열 값을 생성하는 방법에 대한 자세한 내용은 struct 함수named_struct 함수를 참조하세요.

예제

> SELECT struct('Spark', 5);
  {Spark, 5}

> SELECT typeof(named_struct('Field1', 'Spark', 'Field2', 5));
  struct<Field1:string,Field2:int>

> SELECT typeof(struct('Spark', 5));
  struct<col1:string,col2:int>

> SELECT typeof(CAST(NULL AS STRUCT<Field1:INT NOT NULL COMMENT 'The first field.',Field2:ARRAY<INT>>));
  struct<Field1:int,Field2:array<int>>

> SELECT collation(cast(struct(‘hello’)) AS STRUCT<name STRING COLLATE UNICODE_CI>)
 UNICODE_CI