SnowConvert: Transactデータ型

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

データ型

厳密な数値と近似的な数値

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)

  • MoneyとSmallmoneyのために: ​

    • 通貨や金額のデータは、シングルクォーテーション(')で囲む必要はありません。通貨記号の前に金額を指定できますが、SQL Serverは記号に関連する通貨情報を保存せず、数値のみを保存することを覚えておくことが重要です。

    • DMLs の翻訳にご注意ください

日時

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>SQLServer の NVARCHAR (MAX)は SnowFlake に相当するものがないため、VARCHAR に変換され、デフォルトで可能な限り大きなサイズになります。</p>

バイナリ文字列

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>カーソルヘルパーに翻訳します</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は各バイトを16進数2文字で表現することが多いです</p>

XML

VARIANT

​Snowflakeは、VARIANT データ型を XML と同義語として使用します

SYSNAME

VARCHAR(128)

列定義に追加された NOT NULL 制約