SnowConvert: Transact 데이터 타입

Applies to
  • [x] SQL 서버

  • [x] Azure 시냅스 분석

데이터 타입

정확하고 대략적인 숫자

T-SQLSnowflakeNotes
T-SQLSnowflakeNotes
BIGINTBIGINT

​Note that BIGINT in Snowflake is an alias for NUMBER(38,0)

[See note on this conversion below.]

BITBOOLEANSQLServer only accepts ​1, 0, or NULL
DECIMALDECIMAL​Snowflake's DECIMAL is synonymous with NUMBER
FLOATFLOAT

​This data type behaves equally on both systems.

Precision 7-15 digits, float (1-24)

Storage 4 - 8 bytes, float (25-53)

INTINT

Note that INT in Snowflake is an alias for NUMBER(38,0)

[See note on this conversion below.]

MONEYNUMBER(38, 4)[See note on this conversion below.]
REAL​REALSnowflake's REAL is synonymous with FLOAT
SMALLINTSMALLINT​​This data type behaves equally
SMALLMONEYNUMBER(38, 4)[See note on this conversion below.]
TINYINT​TINYINT

Note that TINYINT in Snowflake is an alias for NUMBER(38,0)

[See note on this conversion below.]

NUMERICNUMERIC​Snowflake's NUMERIC is synonymous with NUMBER

NOTE:

  • 정수 데이터 타입(INT, SMALLINT, BIGINT, TINYINT)의 변환의 경우 각각 같은 이름의 Snowflake 별칭으로 변환됩니다. 이러한 각 별칭은 실제로 정수 데이터 타입보다 훨씬 큰 데이터 타입인 NUMBER(38,0)으로 변환됩니다. 아래는 각 데이터 타입에 포함될 수 있는 값의 범위를 비교한 것입니다.

    • Snowflake NUMBER(38,0): -99999999999999999999999999999999999999 ~ +99999999999999999999999999999999999999

    • SQLServer TINYINT: 0 ~ 255

    • SQLServer INT: -2^31 (-2,147,483,648) ~ 2^31-1 (2,147,483,647)

    • SQLServer BIGINT: -2^63 (-9,223,372,036,854,775,808) ~ 2^63-1 (9,223,372,036,854,775,807)

    • SQLServer SMALLINT: -2^15 (-32,768) ~ 2^15-1 (32,767)

  • 돈과 소액 결제용: ​

    • 통화 또는 화폐 데이터는 작은따옴표(‘)로 묶을 필요가 없습니다. 통화 기호 앞에 화폐 값을 지정할 수 있지만 SQL 서버는 해당 기호와 관련된 통화 정보를 저장하지 않고 숫자 값만 저장한다는 점을 기억하십시오.

    • DMLs 의 변환에 유의하십시오.

날짜 및 시간 <a href=”#date-and-time”id=”date-and-time”>

T-SQL

Snowflake

참고

DATE

DATE

​SQLServer 허용 범위는 0001-01-01 ~ 9999-12-31입니다.

DATETIME2

TIMESTAMP_NTZ(7)​

Snowflake의 DATETIME 는 TIMESTAMP_NTZ 의 별칭입니다

DATETIME

TIMESTAMP_NTZ(3)

Snowflake의 DATETIME 는 TIMESTAMP_NTZ 의 별칭입니다​

DATETIMEOFFSET

TIMESTAMP_TZ(7)

<p>Snowflake의 타임스탬프 전체 자릿수 범위는 0~9입니다(<em>이 값이 기본값</em>).</p><p>Snowflake의 작업은 현재 세션의 타임존에서 수행되며, TIMEZONE 세션 매개 변수로 제어됩니다.</p>

SMALLDATETIME

TIMESTAMP_NTZ

<p>Snowflake의 DATETIME 은 TIME 정보를 잘라냅니다</p><p>즉, 1955-12-13 12:43:10은 1955-12-13으로 저장됩니다</p>

TIME

TIME

<p>이 데이터 타입은 두 시스템에서 동일하게 작동합니다. </p><p>범위 00:00:00.0000000 ~ 23:59:59.9999999</p>

TIMESTAMP

TIMESTAMP

이는 TSQL 에서 사용자 정의 데이터 타입이므로 Snowflake 타임스탬프에서 해당 데이터 타입으로 변환됩니다.

문자 문자열

T-SQL

Snowflake

참고

CHAR

CHAR

​SQLServer 의 최대 문자열 크기(바이트)는 8000이고 Snowflake는 167772161 입니다.

TEXT​

TEXT

VARCHAR​

VARCHAR

SQLServer 의 최대 문자열 크기(바이트)는 8000이고 Snowflake는 167772161 입니다. SQLServer 의 VARCHAR(MAX)는 SnowFlake 에 해당하는 값이 없으므로 기본적으로 가능한 최대 크기를 취하기 위해 VARCHAR로 변환됩니다.

Unicode 문자 문자열

T-SQL

Snowflake

참고

NCHAR

NCHAR

기본 길이가 VARCHAR(1)이라는 점을 제외하면 VARCHAR과 동의어입니다.

NTEXT

TEXT

<p>Snowflake는 TEXT 데이터 타입을 VARCHAR</p> 의 동의어로 사용합니다.<p>​SQLServer 의 NTEXT(MAX)에 해당하는 타입이 SnowFlake 에는 없습니다. 기본적으로 가장 큰 가능한 크기로 변환되어 VARCHAR 형식으로 저장됩니다.</p>

NVARCHAR

VARCHAR

<p>Snowflake는 이 데이터 타입을 VARCHAR</p> 의 동의어로 사용합니다.</p><p>​SQLServer 의 NVARCHAR(MAX)에 해당하는 타입이 SnowFlake 에는 없습니다. 기본적으로 가장 큰 가능한 크기로 변환되어 VARCHAR 형식으로 저장됩니다.

이진 문자열

T-SQL

Snowflake

참고

BINARY

​BINARY

Snowflake에서 최대 길이는 8 MB (8,388,608바이트)이며 길이는 항상 바이트 단위로 측정됩니다.

VARBINARY

VARBINARY

<p>Snowflake는 이 데이터 타입을 BINARY 와 동의어로 사용합니다. </p><p>Snowflake는 종종 각 바이트가 16진수 문자 2개로 표현됩니다</p>

IMAGE

VARBINARY

<p>Snowflake는 이 데이터 타입을 BINARY 와 동의어로 사용합니다. </p><p>Snowflake는 종종 각 바이트가 16진수 문자 2개로 표현됩니다</p>

기타 데이터 타입

T-SQL

Snowflake

참고

CURSOR

*정의 예정

<p>Snowflake에서 지원되지 않습니다.</p><p>Cursor 헬퍼로 변환됩니다</p>

HIERARCHYID

*정의 예정

Snowflake에서 지원되지 않음

SQL_VARIANT

VARIANT

<p>최대 16 MB 압축된 크기</p><p>모든 데이터 타입의 값을 VARIANT 값으로 암시적으로 형 변환할 수 있습니다</p>

GEOMETRY

*정의 예정

Snowflake에서 지원되지 않음

GEOGRAPHY

GEOGRAPHY

Snowflake의 GEOGRAPHY 데이터 타입에 저장된 오브젝트는 WKT/WKB/EWKT/EWKB/GeoJSON 지리 공간 오브젝트여야 LineString 및 Polygon 오브젝트를 지원할 수 있습니다

TABLE

*정의 예정

Snowflake에서 지원되지 않음

ROWVERSION

*정의 예정

Snowflake에서 지원되지 않음

UNIQUEIDENTIFIER

VARCHAR

<p>Snowflake는 STRING 유형을 VARCHAR 과 동의어로 사용합니다.<br>변환 때문에<br>Snowflake는 종종 각 바이트가 2개인 16진수 문자로 표시됩니다</p>

XML

VARIANT

​Snowflake는 VARIANT 데이터 타입을 XML 와 동의어로 사용합니다

SYSNAME

VARCHAR(128)

NOT NULL 제약 조건이 열 정의에 추가되었습니다