SnowConvert AI - SQL Server-Azure Synapse - データ型

Snowflakeは、列、ローカル変数、式、パラメーター、その他の適した/適切な場所で使用するための最も基本的な SQL データ型(一部制限付き)をサポートしています。

Applies to
  • SQL Server

  • Azure Synapse Analytics

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

T-SQL

Snowflake

メモ

BIGINT

BIGINT

​Snowflakeの BIGINT は、 NUMBER(38,0)のエイリアスです

[以下でこの変換に関する注意をご確認ください。]

BIT

BOOLEAN

SQLServer は1、0または NULL のみを受け入れます

DECIMAL

DECIMAL

​Snowflakeの DECIMAL は NUMBER と同義です。

FLOAT

FLOAT

​このデータ型は両方のシステムで同じように動作します。

精度7-15桁、float(1-24)

ストレージ4-8バイト、float(25-53)

INT

INT

Snowflakeの INT は、 NUMBER(38,0)のエイリアスです

[以下でこの変換に関する注意をご確認ください。]

MONEY

NUMBER(38, 4)

[以下でこの変換に関する注意をご確認ください。]

REAL​

REAL

Snowflakeの REAL は FLOAT と同義です。

SMALLINT

SMALLINT​

​このデータ型は同じように動作します

SMALLMONEY

NUMBER(38, 4)

[以下でこの変換に関する注意をご確認ください。]

TINYINT​

TINYINT

Snowflakeの TINYINT は、 NUMBER(38,0)のエイリアスです

[以下でこの変換に関する注意をご確認ください。]

NUMERIC

NUMERIC

​Snowflakeの NUMERIC は 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 制約