

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

# SQL 엔진의 데이터 형식 지원
<a name="sql-reference-supported-data-types-dialect"></a>

AWS Clean Rooms 는 여러 SQL 엔진과 언어를 지원합니다. 이러한 구현 전반의 데이터 유형 시스템을 이해하는 것은 성공적인 데이터 협업 및 분석에 매우 중요합니다. 다음 표에는 AWS Clean Rooms SQL, Snowflake SQL 및 Spark SQL에서 동일한 데이터 형식이 나와 있습니다.

## 숫자 데이터 유형
<a name="numeric-data-types-table"></a>

숫자 유형은 정확한 정수부터 대략적인 부동 소수점 값에 이르기까지 다양한 종류의 숫자를 나타냅니다. 숫자 유형 선택은 스토리지 요구 사항과 계산 정밀도에 모두 영향을 미칩니다. 정수 유형은 바이트 크기에 따라 다르지만 십진수 및 부동 소수점 유형은 정밀도와 스케일 옵션이 다릅니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 8바이트 정수 | BIGINT | 지원되지 않음 | BIGINT, LONG | -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807까지의 부호 있는 정수입니다. | 
| 4바이트 정수 | INT | 지원되지 않음 | INT, INTEGER | -2,147,483,648에서 2,147,483,647까지의 부호 있는 정수 | 
| 2바이트 정수 | SMALLINT  | 지원되지 않음 | SMALLINT, SHORT | -32,768\$132,767 범위의 부호 있는 정수 | 
| 1바이트 정수 | 지원되지 않음 | 지원되지 않음 | TINYINT, BYTE | -128\$1127 범위의 부호 있는 정수 | 
|  이중 정밀도 부동 소수점 | DOUBLE, DOUBLE PRECISION | FLOAT, FLOAT4, FLOAT8, DOUBLE, DOUBLE 정밀도, REAL | DOUBLE | 8바이트 배정밀도 부동 소수점 숫자 | 
| 단일 정밀도 부동 소수점 | REAL, FLOAT | 지원되지 않음 | FLOAT | 4바이트 단일 정밀도 부동 소수점 숫자 | 
| 십진수(고정 정밀도) | DECIMAL  | 소수, 숫자, 숫자 Snowflake는 더 작은 너비의 정확한 숫자 유형(INT, BIGINT, SMALLINT 등)을 NUMBER로 자동으로 별칭을 지정합니다.  | 소수, 숫자, | 임의 정밀도 부호 있는 십진수 | 
| 십진수(정밀도 포함) | DECIMAL(p) | DECIMAL(p), NUMBER(p) | DECIMAL(p) | 고정밀도 십진수 | 
| 십진수(배율 포함) | DECIMAL (p,s) | DECIMAL(p,s), NUMBER(p,s) | DECIMAL (p,s) | 눈금이 있는 고정밀도 십진수 | 

## 부울 데이터 형식
<a name="boolean-data-types-table"></a>

부울 유형은 단순 true/false 논리 값을 나타냅니다. 이러한 유형은 SQL 엔진에서 일관되며 플래그, 조건 및 논리적 작업에 일반적으로 사용됩니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 부울  | BOOLEAN  | BOOLEAN  | BOOLEAN  | true/false 값을 나타냅니다. | 

## 날짜 및 시간 데이터 유형
<a name="date-time-data-types-table"></a>

날짜 및 시간 유형은 다양한 수준의 정밀도와 시간대 인식으로 시간 데이터를 처리합니다. 이러한 유형은 날짜, 시간 및 타임스탬프를 저장하는 다양한 형식을 지원하며 시간대 정보를 포함하거나 제외하는 옵션을 제공합니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| Date  | DATE  | DATE  | DATE  | 시간대가 없는 날짜 값(년, 월, 일) | 
| Time  | TIME  | 지원되지 않음 | 지원되지 않음 | 시간대가 없는 UTC 기준 시간대 | 
| TZ 사용 시간 | TIMETZ  | 지원되지 않음 | 지원되지 않음 | 시간대가 있는 UTC 기준 시간대 | 
| 타임스탬프  | TIMESTAMP  | TIMESTAMP, TIMESTAMP\$1NTZ | TIMESTAMP\$1NTZ |  표준 시간대가 없는 타임스탬프 NTZ는 "시간대 없음"을 나타냅니다.  | 
| TZ를 사용하는 타임스탬프 | TIMESTAMPTZ  | TIMESTAMP\$1LTZ | TIMESTAMP, TIMESTAMP\$1LTZ | 현지 시간대가 있는 타임스탬프 LTZ는 "로컬 시간대"를 나타냅니다.  | 

## 문자 데이터 유형
<a name="character-data-types-table"></a>

문자 유형은 고정 길이 및 가변 길이 옵션을 모두 제공하는 텍스트 데이터를 저장합니다. 이러한 유형은 텍스트 문자열과 이진 데이터를 처리하며, 스토리지 할당을 제어하는 선택적 길이 사양을 제공합니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 고정 길이 문자  | CHAR  | CHAR, CHARACTER | CHAR, CHARACTER | 고정 길이 문자열 | 
| 길이가 인 고정 길이 문자 | CHAR(n) | CHAR(n), CHARACTER(n) | CHAR(n), CHARACTER(n) | 길이가 지정된 고정 길이 문자열 | 
| 가변 길이 문자 | VARCHAR  | VARCHAR, STRING, TEXT | VARCHAR, 문자열 | 가변 길이 문자열 | 
| 길이가 인 가변 길이 문자 | VARCHAR(n) | VARCHAR(n), STRING(n), TEXT(n) | VARCHAR(n) | 길이 제한이 있는 가변 길이 문자열  | 
| 바이너리  | VARBYTE  | BINARY, VARBINARY | BINARY  | 이진 바이트 시퀀스 | 
| 길이가 인 이진수 | VARBYTE(n) | 지원되지 않음 | 지원되지 않음 | 길이 제한이 있는 이진 바이트 시퀀스 | 

## 구조화된 데이터 형식
<a name="structured-data-types-table"></a>

구조화된 유형을 사용하면 여러 값을 단일 필드로 결합하여 복잡한 데이터 구성을 수행할 수 있습니다. 여기에는 정렬된 컬렉션에 대한 배열, 키-값 페어에 대한 맵, 명명된 필드를 사용하여 사용자 지정 데이터 구조를 생성하기 위한 구조가 포함됩니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 배열  | ARRAY<type> | ARRAY(유형) | ARRAY<type> | 동일한 유형의 정렬된 요소 시퀀스 배열 유형에는 동일한 유형의 요소가 포함되어야 합니다.  | 
| 맵  | MAP<key,value> | MAP(키,값) | MAP<key,value> | 키-값 페어 모음 맵 유형에는 동일한 유형의 요소가 포함되어야 합니다.  | 
| Struct  | STRUCT< field1: type1, field2: type2> |  OBJECT( field1 type1, field2 type2 ) | STRUCT< field1: type1, field2: type2 > | 지정된 유형의 명명된 필드가 있는 구조 구조화된 유형 구문은 구현마다 약간 다를 수 있습니다.  | 
| Super  | SUPER  | 지원되지 않음 | 지원되지 않음 | 복잡한 유형을 포함한 모든 데이터 유형을 지원하는 유연한 유형 | 