

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 생성자 함수
<a name="sql-functions-constructor"></a>

SQL 생성자 함수는 배열 또는 맵과 같은 새 데이터 구조를 생성하는 데 사용되는 함수입니다.

 일부 입력 값을 가져와서 새 데이터 구조 객체를 반환합니다. 생성자 함수는 일반적으로 ARRAY 또는 MAP와 같이 생성한 데이터 형식의 이름을 따서 명명됩니다.

생성자 함수는 기존 데이터에서 작동하고 단일 값을 반환하는 스칼라 함수 또는 집계 함수와 다릅니다. 생성자 함수는 추가 데이터 처리 또는 분석에 사용할 수 있는 새 데이터 구조를 생성하는 데 사용됩니다.

AWS Clean Rooms 는 다음 생성자 함수를 지원합니다.

**Topics**
+ [MAP 생성자 함수](map_function.md)
+ [NAMED\$1STRUCT 생성자 함수](named-struct_function.md)
+ [STRUCT 생성자 함수](struct_function.md)

# MAP 생성자 함수
<a name="map_function"></a>

MAP 생성자 함수는 지정된 키/값 페어로 맵을 생성합니다.

MAP과 같은 구성자 함수는 SQL 쿼리 내에서 프로그래밍 방식으로 새 데이터 구조를 생성해야 할 때 유용합니다. 이를 통해 추가 데이터 처리 또는 분석에 사용할 수 있는 복잡한 데이터 구조를 구축할 수 있습니다.

## 구문
<a name="map_function-syntax"></a>

```
map(key0, value0, key1, value1, ...)
```

## 인수
<a name="map_function-arguments"></a>

 *키0*   
유사한 유형의 표현식입니다. 모든 *key0*는 가장 덜 일반적인 유형을 공유해야 합니다.

 *값 0*   
모든 유형의 표현식입니다. 모든 *valueN*은 가장 덜 일반적인 유형을 공유해야 합니다.

## 반환
<a name="map_function-returns"></a>

MAP 함수는 키가 key*0*의 최소 공통 유형으로 입력되고 값이 *value*0의 최소 공통 유형으로 입력되는 MAP을 반환합니다.

## 예시
<a name="map_function-examples"></a>

다음 예제에서는 두 개의 키-값 페어로 새 맵을 생성합니다. 키`1.0`는 값과 연결됩니다`'2'`. 키는 값과 `3.0` 연결됩니다`'4'`. 그러면 결과 맵이 SQL 문의 출력으로 반환됩니다.

```
SELECT map(1.0, '2', 3.0, '4');
 {1.0:"2",3.0:"4"}
```

# NAMED\$1STRUCT 생성자 함수
<a name="named-struct_function"></a>

NAMED\$1STRUCT 생성자 함수는 지정된 필드 이름과 값을 사용하여 구조체를 생성합니다.

NAMED\$1STRUCT와 같은 구성자 함수는 SQL 쿼리 내에서 프로그래밍 방식으로 새 데이터 구조를 생성해야 할 때 유용합니다. 이를 통해 추가 데이터 처리 또는 분석에 사용할 수 있는 구조 또는 레코드와 같은 복잡한 데이터 구조를 구축할 수 있습니다.

## 구문
<a name="named-struct_function-syntax"></a>

```
named_struct(name1, val1, name2, val2, ...)
```

## 인수
<a name="snamed-truct_function-arguments"></a>

 *이름1*   
STRING 리터럴 이름 지정 필드 1.

 *val1*   
필드 1의 값을 지정하는 모든 유형의 표현식입니다.

## 반환
<a name="named-struct_function-returns"></a>

NAMED\$1STRUCT 함수는 *val*1 유형과 일치하는 필드 1이 있는 구조체를 반환합니다.

## 예시
<a name="named-struct_function-examples"></a>

다음 예제에서는 이름이 지정된 세 개의 필드가 있는 새 구조를 생성합니다. 필드에 값이 할당`"a"`됩니다`1`. 필드에`"b"`는 값이 할당됩니다`2.`. 필드에`"c"`는 값이 할당됩니다`3`. 그러면 결과 구조가 SQL 문의 출력으로 반환됩니다.

```
SELECT named_struct("a", 1, "b", 2, "c", 3);
 {"a":1,"b":2,"c":3}
```

# STRUCT 생성자 함수
<a name="struct_function"></a>

STRUCT 생성자 함수는 지정된 필드 값으로 구조체를 생성합니다.

STRUCT와 같은 구성자 함수는 SQL 쿼리 내에서 프로그래밍 방식으로 새 데이터 구조를 생성해야 할 때 유용합니다. 이를 통해 추가 데이터 처리 또는 분석에 사용할 수 있는 구조 또는 레코드와 같은 복잡한 데이터 구조를 구축할 수 있습니다.

## 구문
<a name="struct_function-syntax"></a>

```
struct(col1, col2, col3, ...)
```

## 인수
<a name="struct_function-arguments"></a>

 *col1*   
열 이름 또는 유효한 표현식입니다.

## 반환
<a name="struct_function-returns"></a>

STRUCT 함수는 *expr**1 유형과 일치하는 field*1이 있는 구조체를 반환합니다.

인수의 이름이 참조인 경우 이름을 사용하여 필드의 이름을 지정합니다. 그렇지 않으면 필드의 이름이 *colN*으로 지정되며, 여기서 N은 구조체에서 필드의 위치입니다.

## 예시
<a name="struct_function-examples"></a>

다음 예제에서는 세 개의 필드가 있는 새 구조체를 생성합니다. 첫 번째 필드에는 값 1이 할당됩니다. 두 번째 필드에는 값 2가 할당됩니다. 세 번째 필드에는 값 3이 할당됩니다. 기본적으로 결과 구조체의 필드는 인수 목록의 위치에 따라 `col3`, `col1` `col2`및 로 이름이 지정됩니다. 그러면 결과 구조가 SQL 문의 출력으로 반환됩니다.

```
SELECT struct(1, 2, 3);
 {"col1":1,"col2":2,"col3":3}
```