SnowConvert: Transactデータ型¶
Applies to
[x] SQL Server
[x] Azure Synapse Analytics
データ型¶
厳密な数値と近似的な数値¶
T-SQL | Snowflake | Notes |
---|---|---|
T-SQL | Snowflake | Notes |
BIGINT | BIGINT | Note that BIGINT in Snowflake is an alias for NUMBER(38,0) [See note on this conversion below.] |
BIT | BOOLEAN | SQLServer only accepts 1, 0, or NULL |
DECIMAL | DECIMAL | Snowflake's DECIMAL is synonymous with NUMBER |
FLOAT | FLOAT | This data type behaves equally on both systems. Precision 7-15 digits, float (1-24) Storage 4 - 8 bytes, float (25-53) |
INT | INT | Note that INT in Snowflake is an alias for NUMBER(38,0) [See note on this conversion below.] |
MONEY | NUMBER(38, 4) | [See note on this conversion below.] |
REAL | REAL | Snowflake's REAL is synonymous with FLOAT |
SMALLINT | SMALLINT | This data type behaves equally |
SMALLMONEY | NUMBER(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.] |
NUMERIC | NUMERIC | 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 制約 |