SnowConvert: Teradata 데이터 타입¶
데이터 타입¶
변환 테이블¶
Teradata |
Snowflake |
참고 |
---|---|---|
|
|
|
|
|
Snowflake의 |
|
|
8MB 로 제한됨. |
|
|
|
|
|
|
|
|
|
|
|
16MB 로 제한됨. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Snowflake의 |
|
|
간격은 덧셈/뺄셈에 사용되는 경우를 제외하고 Snowflake에서 |
|
|
간격은 덧셈/뺄셈에 사용되는 경우를 제외하고 Snowflake에서 |
|
|
간격은 덧셈/뺄셈에 사용되는 경우를 제외하고 Snowflake에서 |
|
|
간격은 덧셈/뺄셈에 사용되는 경우를 제외하고 Snowflake에서 |
|
|
간격은 덧셈/뺄셈에 사용되는 경우를 제외하고 Snowflake에서 |
|
|
<p> JSON 안에 있는 요소는 테이블에 삽입할 때 키에 따라 정렬됩니다.<br>[<a href=”data-types.md#json-data-type”>참고</a> 확인].</p> |
|
|
지원되지 않음 |
|
|
|
|
|
기간은 Snowflake에서 |
|
|
기간은 Snowflake에서 |
|
|
기간은 Snowflake에서 |
|
|
기간은 Snowflake에서 |
|
|
기간은 Snowflake에서 |
|
|
|
|
|
Snowflake의 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
참고¶
참고
Teradata data types에 대한 설명서를 참조하십시오.
정수 데이터 타입¶
정수 데이터 타입(INTEGER
, SMALLINT
, BIGINT
)의 변환의 경우, 각각은 같은 이름을 가진 Snowflake의 별칭으로 변환됩니다. 이러한 각 별칭은 NUMBER(38,0)
으로 변환되며, 이는 정수 데이터 타입보다 훨씬 큰 데이터 타입입니다. 아래는 각 데이터 타입에 포함될 수 있는 값의 범위를 비교한 것입니다.
Teradata
INTEGER
: -2,147,483,648 ~ 2,147,483,647Teradata
SMALLINT
: -32768 ~ 32767Teradata
BIGINT
: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807Snowflake
NUMBER(38,0)
: -99999999999999999999999999999999999999 ~ +99999999999999999999999999999999999999
경고 SSC-EWI-0036이 생성됩니다.
간격/기간 데이터 타입¶
간격 및 기간은 Snowflake에서 문자열(VARCHAR
)로 저장됩니다. 변환 시 SnowConvert 는 동일한 식을 문자열로 다시 생성하는 UDF 를 생성합니다. 경고 SSC-EWI-TD0053이 생성됩니다.
Snowflake SnowConvert 에서 현재 생성된 UDF 의 공개 리포지토리에서 UDF 를 더 자세히 확인할 수 있습니다.
이 UDF 는 기간이 VARCHAR
에 저장되고 데이터/시간 부분이 *
로 구분되어 있다고 가정합니다. 예를 들어, PERIOD('2018-01-01','2018-01-20')
과 같은 Teradata 기간의 경우 '2018-01-01
*2018-01-20'
과 같이 VARCHAR
로 Snowflake에 저장해야 합니다.
간격에 대한 VARCHAR
변환의 유일한 예외는 Datetime 식에서 값을 더하거나 빼는 데 사용되는 간격 리터럴이며, Snowflake에는 INTERVAL
데이터 타입이 없지만 앞서 언급한 특정 목적을 위해 간격 상수 가 존재합니다. 예제:
입력 코드:
SELECT TIMESTAMP '2018-05-13 10:30:45' + INTERVAL '10 05:30' DAY TO MINUTE;
출력 코드:
SELECT
TIMESTAMP '2018-05-13 10:30:45' + INTERVAL '10 DAY, 05 HOUR, 30 MINUTE';
간격을 숫자 식에 곱하거나 나누는 경우 대신 동등한 DATEADD
함수 호출로 변환됩니다.
입력 코드:
SELECT TIME '03:45:15' - INTERVAL '15:32:01' HOUR TO SECOND * 10;
출력 코드:
SELECT
DATEADD('SECOND', 10 * -1, DATEADD('MINUTE', 10 * -32, DATEADD('HOUR', 10 * -15, TIME '03:45:15')));
JSON 데이터 타입¶
JSON 내부의 요소는 테이블에 삽입될 때 키에 따라 정렬됩니다. 따라서 쿼리 결과가 다를 수 있습니다. 그러나 이는 JSON 내부의 배열 순서에는 영향을 미치지 않습니다.
예를 들어, 원본이 JSON 인 경우:
{
"firstName":"Peter",
"lastName":"Andre",
"age":31,
"cities": ["Los Angeles", "Lima", "Buenos Aires"]
}
입력 문자열을 JSON 문서로 해석하여 VARIANT 값을 생성하는 Snowflake PARSE_JSON()를 사용합니다. 삽입된 JSON 은:
{
"age": 31,
"cities": ["Los Angeles", "Lima", "Buenos Aires"],
"firstName": "Peter",
"lastName": "Andre"
}
이제 “age”가 첫 번째 요소가 된 것을 주목하십시오. 그러나 “cities”의 배열은 원래의 순서를 유지합니다.
알려진 문제 ¶
문제가 발견되지 않았습니다.