SnowConvert AI - Redshift - 데이터 타입¶
SnowConvert AI의 Redshift에 대한 현재 데이터 타입 변환입니다.
Snowflake는 대부분의 기본 SQL 데이터 타입 (일부 제한 있음)을 열, 로컬 변수, 식, 매개 변수, 기타 모든 적절한/적합한 위치에 사용할 수 있도록 지원합니다.
숫자 데이터 타입 ¶
Redshift |
Snowflake |
참고 |
|---|---|---|
INT |
INT |
Snowflake의 INT 는 NUMBER 의 별칭입니다. |
INT2 |
SMALLINT |
Snowflake의 INT2 는 NUMBER 의 별칭입니다. |
INT4 |
INTEGER |
Snowflake의 INT4 는 NUMBER 의 별칭입니다. |
INT8 |
INTEGER |
Snowflake의 INT8 는 NUMBER 의 별칭입니다. |
INTEGER |
INTEGER |
Snowflake의 INTEGER 는 NUMBER 의 별칭입니다. |
BIGINT |
BIGINT |
Snowflake의 BIGINT 는 NUMBER 의 별칭입니다. |
DECIMAL |
DECIMAL |
Snowflake의 DECIMAL 은 NUMBER 의 별칭입니다. |
DOUBLE PRECISION |
DOUBLE PRECISION |
Snowflake의 DOUBLE PRECISION 은 FLOAT 의 별칭입니다. |
NUMERIC |
NUMERIC |
Snowflake의 NUMERIC 은 NUMBER 의 별칭입니다. |
SMALLINT |
SMALLINT |
Snowflake의 SMALLINT 는 NUMBER 의 별칭입니다. |
FLOAT |
FLOAT |
Snowflake는 배정밀도(64비트) IEEE 754 부동 소수점 숫자를 사용합니다. |
FLOAT4 |
FLOAT4 |
Snowflake의 FLOAT4 는 FLOAT 의 별칭입니다. |
FLOAT8 |
FLOAT8 |
Snowflake의 FLOAT8 은 FLOAT 의 별칭입니다. |
REAL |
REAL |
Snowflake의 REAL 은 FLOAT 의 별칭입니다. |
문자 유형 ¶
Redshift |
Snowflake |
참고 |
|---|---|---|
VARCHAR |
VARCHAR |
VARCHAR 는 유니코드 UTF-8 문자를 보유합니다. 길이를 지정하지 않을 경우 기본값은 최대 허용 길이(16,777,216)입니다. |
CHAR |
CHAR |
Snowflake의 CHAR 은 VARCHAR 의 별칭입니다. |
CHARACTER |
CHARACTER |
Snowflake의 CHARACTER 는 VARCHAR 의 별칭입니다. |
NCHAR |
NCHAR |
Snowflake의 NCHAR 은 VARCHAR 의 별칭입니다. |
BPCHAR |
VARCHAR |
BPCHAR 데이터 타입은 Snowflake에서 지원되지 않습니다. VARCHAR 이 대신 사용됩니다. 자세한 내용은 SSC-FDM-PG0002를 참조하십시오. |
NVARCHAR |
NVARCHAR |
Snowflake의 NVARCHAR 은 VARCHAR 의 별칭입니다. |
CHARACTER VARYING |
CHARACTER VARYING |
Snowflake의 CHARACTER VARYING 은 VARCHAR 의 별칭입니다. |
NATIONAL CHARACTER |
NCHAR |
Snowflake의 NCHAR 은 VARCHAR 의 별칭입니다. |
NATIONAL CHARACTER VARYING |
NCHAR VARYING |
Snowflake의 NCHAR VARYING 은 VARCHAR 의 별칭입니다. |
TEXT |
TEXT |
Snowflake의 TEXT 는 VARCHAR 의 별칭입니다. |
NAME (특수 문자 유형) |
VARCHAR |
VARCHAR 는 유니코드 UTF-8 문자를 보유합니다. 길이를 지정하지 않을 경우 기본값은 최대 허용 길이(16,777,216)입니다. |
참고
Redshift 데이터 타입에 MAX 전체 자릿수 인자가 있는 경우, 해당 데이터 타입은 Snowflake에서 지원하는 기본 최대 전체 자릿수로 변환됩니다.
부울 유형 ¶
Redshift |
Snowflake |
참고 |
|---|---|---|
BOOL |
BOOLEAN |
|
BOOLEAN |
BOOLEAN |
이진 데이터 타입 ¶
Redshift |
Snowflake |
참고 |
|---|---|---|
VARBYTE |
VARBINARY |
VARBINARY는 BINARY와 동의어입니다. |
VARBINARY |
VARBINARY |
VARBINARY는 BINARY와 동의어입니다. |
BINARY |
BINARY |
최대 길이는 8 MB (8,388,608바이트)입니다. |
BINARY VARYING |
BINARY VARYING |
BINARY VARYING 은 BINARY 와 동의어입니다. |
경고
Redshift에서 이진형의 최대 길이는 16 MB (16,777,216바이트)이지만, Snowflake에서는 8 MB (8,388,608바이트)입니다. 최대 길이가 줄어든 점을 고려하십시오.
날짜 & 시간 데이터 타입 ¶
Redshift |
Snowflake |
참고 |
|---|---|---|
DATE |
DATE |
DATE accepts dates in the most common forms (such as |
TIME |
TIME |
|
TIMETZ |
TIME |
시간 데이터 타입에 타임존이 지원되지 않습니다. 자세한 내용은 SSC-FDM-0005 를 참조하십시오. |
TIME WITH TIME ZONE |
TIME |
시간 데이터 타입에 타임존이 지원되지 않습니다. 자세한 내용은 SSC-FDM-0005 를 참조하십시오. |
TIME WITHOUT TIME ZONE |
TIME |
Snowflake는 시간을 |
TIMESTAMP |
TIMESTAMP |
타임스탬프 정밀도는 0(초)~9(나노초)의 범위로 지정할 수 있습니다. |
TIMESTAMPTZ |
TIMESTAMP_TZ |
TIMESTAMP\TZ 는 내부적으로 UTC 시간을 관련 _time zone offset_과 함께 저장합니다. |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP_TZ |
TIMESTAMP\TZ 는 내부적으로 UTC 시간을 관련 _time zone offset_과 함께 저장합니다. |
TIMESTAMP WITHOUT TIME ZONE |
TIMESTAMP_NTZ |
TIMESTAMP\NTZ 는 내부적으로 지정된 전체 자릿수로 “현지” 시간을 저장합니다. |
INTERVAL YEAR TO MONTH |
VARCHAR |
간격 데이터 타입은 Snowflake에서 지원되지 않습니다. VARCHAR 로 변경되었습니다. |
INTERVAL DAY TO SECOND |
VARCHAR |
간격 데이터 타입은 Snowflake에서 지원되지 않습니다. VARCHAR 로 변경되었습니다. |
기타 데이터 타입 ¶
Redshift |
Snowflake |
참고 |
|---|---|---|
GEOMETRY |
GEOMETRY |
좌표는 실수 쌍(x, y)으로 표시됩니다. 현재, 2D 좌표만 지원됩니다. |
GEOGRAPHY |
GEOGRAPHY |
GEOGRAPHY 데이터 타입은 WGS 84 표준을 따릅니다. |
HLLSKETCH |
N/A |
Snowflake에서 지원되지 않는 데이터 타입입니다. 자세한 내용은 SSC-EWI-RS0004를 참조하십시오. |
SUPER |
VARIANT |
OBJECT 및 ARRAY 값을 포함하여 다른 데이터 타입의 값을 포함할 수 있습니다. |
INTERVAL DAY TO SECOND 데이터 타입¶
설명¶
INTERVAL DAY TO SECOND 간격 리터럴을 지정하여 일, 시간, 분, 초 단위로 기간을 정의합니다. (RedShift SQL Language Reference 간격 데이터 타입)
이 데이터 타입에 해당하는 데이터 타입은 Snowflake에 없으며, 현재 VARCHAR 로 변환됩니다.
문법 구문 ¶
경고
Interval 데이터 타입의 사용은 향후 업데이트에서 구현될 계획입니다.
샘플 소스 패턴¶
Create Table에서 일에서 초 사이의 간격¶
입력¶
Redshift¶
출력¶
Snowflake¶
The Interval value is transformed to a supported Snowflake format and then inserted as text inside the column. Since Snowflake does not support Interval as a data type, it is only supported in arithmetic operations. To use the value, it needs to be extracted and used as an Interval constant (if possible).
Original Redshift value: INTERVAL '1 2:3:4.567' DAY TO SECOND
Snowflake 열에 저장된 값: '1days, 2hours, 3mins, 4secs, 56ms'
Snowflake 간격 상수 값: INTERVAL '1days, 2hours, 3mins, 4secs, 56ms'
간격 일에서 두 번째 열로 데이터 검색하기¶
입력¶
Redshift¶
결과¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1일 2시간 0분 0.0초 |
NULL |
NULL |
1일 2시간 3분 4.56초 |
출력¶
Snowflake¶
결과¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1일, 2시간 |
NULL |
NULL |
1일, 2시간, 3분, 4초, 56밀리초 |
Known Issues¶
1. Only arithmetic operations are supported¶
Snowflake 간격에는 몇 가지 제한 사항이 있습니다. DATE 또는 TIMESTAMP 및 Interval Constants 간의 산술 연산만 지원되며, 다른 모든 시나리오는 지원되지 않습니다.
관련 EWIs¶
SSC-EWI-0036: 데이터 타입이 다른 데이터 타입으로 변환되었습니다.
INTERVAL YEAR TO MONTH 데이터 타입¶
설명¶
INTERVAL YEAR TO MONTH 간격 데이터 타입을 지정하여 연도 및 월 단위로 기간을 저장합니다. (RedShiftSQL Language Reference 간격 데이터 타입)
이 데이터 타입에 해당하는 데이터 타입은 Snowflake에 없으며, 현재 VARCHAR 로 변환됩니다.
문법 구문 ¶
경고
Interval 데이터 타입의 사용은 향후 업데이트에서 구현될 계획입니다.
샘플 소스 패턴¶
Create Table의 연도 간 월 간 간격¶
입력:¶
Redshift¶
출력¶
Snowflake¶
The Interval value is transformed to a supported Snowflake format and then inserted as text inside the column. Since Snowflake does not support Interval as a data type, it is only supported in arithmetic operations. To use the value, it needs to be extracted and used as an Interval constant (if possible).
원본 편위 값: INTERVAL'1-2'YEARTOMONTH
Snowflake 열에 저장된 값: '1y, 2m'
Snowflake 간격 상수 값: INTERVAL '1y, 2m'
연도 간에서 월 간 열에서 데이터 검색하기¶
입력¶
Redshift¶
결과¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 years 0 mons |
NULL |
NULL |
NULL |
0 years 5 mons |
NULL |
NULL |
NULL |
1000 years 11 mons |
출력¶
Snowflake¶
결과¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 y 0 mm |
NULL |
NULL |
NULL |
0 y 5 mm |
NULL |
NULL |
NULL |
1000 y 11 mons |
Known Issues¶
1. Only arithmetic operations are supported¶
Snowflake 간격에는 몇 가지 제한 사항이 있습니다. DATE 또는 TIMESTAMP 및 Interval Constants 간의 산술 연산만 지원되며, 다른 모든 시나리오는 지원되지 않습니다.
관련 EWIs¶
SSC-EWI-0036: 데이터 타입이 다른 데이터 타입으로 변환되었습니다.
숫자 형식 모델¶
설명¶
다음은 Redshift 에서 지원하는 다양한 숫자 형식과 이에 상응하는 Snowflake 의 형식입니다.
Redshift |
Snowflake |
주석 |
|---|---|---|
0 |
0 |
|
9 |
9 |
|
. (기간), D |
. (기간), D |
|
, (쉼표) |
, (쉼표) |
|
CC |
현재 Snowflake에는 Century Code에 해당하는 항목이 없습니다. |
|
FM |
FM |
|
PR |
현재 Snowflake에는 이 형식에 해당하는 항목이 없습니다. |
|
S |
S |
명시적 숫자 기호. |
L |
$ |
통화 기호 자리 표시자. |
G |
G |
|
MI |
MI |
마이너스 기호(음수의 경우) |
PL |
S |
현재 Snowflake에는 더하기 기호에 해당하는 기능이 없습니다. 따라서 명시적 숫자 기호로 변환됩니다. |
SG |
S |
명시적 숫자 지정된 위치에 기입합니다. |
RN |
현재 Snowflake의 로마 숫자에 해당하는 것은 없습니다. |
|
TH |
현재 Snowflake의 서수 접미사에 해당하는 것은 없습니다 |
샘플 소스 패턴¶
To_Number 함수에서 사용¶
입력:¶
Redshift¶
결과¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.30 | 1254.88 |
출력¶
Snowflake¶
결과¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.300 | 12454.88 |
입력:¶
Redshift¶
결과¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
출력:¶
Snowflake¶
결과¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
To_Char 함수에서 사용¶
입력:¶
Redshift¶
결과¶
| signed_number | decimal_number | negative | minus_sign | plus_sign | multiple_ninesmultiple_nines | exact_zerosexact_zeros |
|---|---|---|---|---|---|---|
| '123-' | '12,454.88' | '-12,454.88' | '12454.88' | '-12,454.88' | '09423' | '09423' |
출력:¶
Snowflake¶
결과¶
| signed_number | decimal_number | negative | minus_sign | plus_sign | multiple_ninesmultiple_nines | exact_zerosexact_zeros |
|---|---|---|---|---|---|---|
| '123-' | '12,454.88' | '-12,454.88' | '12454.88' | '-12,454.88' | '09423' | '09423' |
지원되지 않는 형식¶
다음 형식은 지원되지 않으며, 이 경우 EWI 로 표시됩니다.
입력:¶
출력:¶
Known Issues¶
1. Using numeric signs inside the number not supported.¶
숫자 시작이 아닌 숫자 내부에 숫자 기호 형식(MI, SG 또는 PL)을 사용하거나 숫자 끝에 숫자 기호를 사용하는 경우 Snowflake에서 지원되지 않습니다
예
관련 EWIs¶
SSC-EWI-0006: Snowflake에서 현재 날짜/숫자 형식의 동작이 다를 수 있습니다.