SnowConvert AI - Redshift - データ型¶
SnowConvert AIにおけるRedshiftの現在のデータ型変換。
Snowflakeは、列、ローカル変数、式、パラメーター、その他の適した/適切な場所で使用するための最も基本的な SQL データ型 (一部制限付き)をサポートしています。
数値データ型¶
Redshift |
Snowflake |
注意 |
|---|---|---|
INT |
INT |
Snowflakeの INT は NUMBER のエイリアスです。 |
INT2 |
SMALLINT |
Snowflakeの INT2 は NUMBER のエイリアスです。 |
INT4 |
INTEGER |
Snowflakeの INT4 は NUMBER のエイリアスです。 |
INT8 |
INTEGER |
Snowflakeの INT8 は NUMBER のエイリアスです。 |
INTEGER |
INTEGER |
Snowflakeの INTEGER は NUMBER のエイリアスです。 |
BIGINT |
BIGINT |
Snowflakeの BIGINT は NUMBER のエイリアスです。 |
DECIMAL |
DECIMAL |
Snowflakeの DECIMAL は NUMBER のエイリアスです。 |
DOUBLE PRECISION |
DOUBLE PRECISION |
Snowflakeの DOUBLE PRECISION は FLOAT のエイリアスです。 |
NUMERIC |
NUMERIC |
Snowflakeの NUMERIC は NUMBER のエイリアスです。 |
SMALLINT |
SMALLINT |
Snowflakeの SMALLINT は NUMBER のエイリアスです。 |
FLOAT |
FLOAT |
Snowflakeは、倍精度(64ビット) IEEE 754浮動小数点数を使用します。 |
FLOAT4 |
FLOAT4 |
Snowflakeの FLOAT4 は FLOAT のエイリアスです。 |
FLOAT8 |
FLOAT8 |
Snowflakeの FLOAT8 は FLOAT のエイリアスです。 |
REAL |
REAL |
Snowflakeの REAL は FLOAT のエイリアスです。 |
文字タイプ¶
Redshift |
Snowflake |
注意 |
|---|---|---|
VARCHAR |
VARCHAR |
VARCHAR は、 UTF-8文字を保持します。長さが指定されていない場合、デフォルトは最大許容長(16,777,216)です。 |
CHAR |
CHAR |
Snowflakeの CHAR は VARCHAR のエイリアスです。 |
CHARACTER |
CHARACTER |
Snowflakeの CHARACTER は VARCHAR のエイリアスです。 |
NCHAR |
NCHAR |
Snowflakeの NCHAR は VARCHAR のエイリアスです。 |
BPCHAR |
VARCHAR |
BPCHAR データ型は、Snowflakeでは サポートされていません。VARCHAR が代わりに使用されます。詳しくは SSC-FDM-PG0002を参照してください。 |
NVARCHAR |
NVARCHAR |
Snowflakeの NVARCHAR は VARCHAR のエイリアスです。 |
CHARACTER VARYING |
CHARACTER VARYING |
Snowflakeの CHARACTER VARYING は VARCHAR のエイリアスです。 |
NATIONAL CHARACTER |
NCHAR |
Snowflakeの NCHAR は VARCHAR のエイリアスです。 |
NATIONAL CHARACTER VARYING |
NCHAR VARYING |
Snowflakeの NCHAR VARYING は VARCHAR のエイリアスです。 |
TEXT |
TEXT |
Snowflakeの TEXT は VARCHAR のエイリアスです。 |
NAME (特殊文字タイプ) |
VARCHAR |
VARCHAR は、 UTF-8文字を保持します。長さが指定されていない場合、デフォルトは最大許容長(16,777,216)です。 |
注釈
MAX precision引数がRedshiftデータ型に存在する場合、それらはSnowflakeがサポートするデフォルトのmax precisionに変換されます。
ブール型¶
Redshift |
Snowflake |
注意 |
|---|---|---|
BOOL |
BOOLEAN |
|
BOOLEAN |
BOOLEAN |
バイナリデータ型¶
Redshift |
Snowflake |
注意 |
|---|---|---|
VARBYTE |
VARBINARY |
VARBINARY は、 BINARYと同義語です。 |
VARBINARY |
VARBINARY |
VARBINARY は、 BINARYと同義語です。 |
BINARY |
BINARY |
最大長は8 MB (8,388,608バイト)です |
BINARY VARYING |
BINARY VARYING |
BINARY VARYING は、 BINARY と同義語です。 |
警告
Redshiftのバイナリタイプの最大長は16 MB (16,777,216バイト)ですが、 Snowflake では8 MB (8,388,608バイト)です。この最大長の短縮をご検討ください。
日付と時刻のデータ型¶
Redshift |
Snowflake |
注意 |
|---|---|---|
DATE |
DATE |
DATE accepts dates in the most common forms (such as |
TIME |
TIME |
|
TIMETZ |
TIME |
時刻データ型でタイムゾーンがサポートされていません。詳しくは SSC-FDM-0005を参照してください。 |
TIME WITH TIME ZONE |
TIME |
時刻データ型でタイムゾーンがサポートされていません。詳しくは SSC-FDM-0005を参照してください。 |
TIME WITHOUT TIME ZONE |
TIME |
Snowflakeは、時刻を |
TIMESTAMP |
TIMESTAMP |
タイムスタンプの精度は、0(秒)から9(ナノ秒)の範囲です。 |
TIMESTAMPTZ |
TIMESTAMP_TZ |
TIMESTAMP_TZ は、関連する time zone offset と一緒に UTC 時間を内部的に保存します。 |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP_TZ |
TIMESTAMP_TZ は、関連する time zone offset と一緒に UTC 時間を内部的に保存します。 |
TIMESTAMP WITHOUT TIME ZONE |
TIMESTAMP_NTZ |
TIMESTAMP_NTZ は、指定された精度で「wallclock」時間を内部的に保存します。 |
INTERVAL YEAR TO MONTH |
VARCHAR |
The interval data type is not supported by Snowflake. Transformed to VARCHAR. With the |
INTERVAL DAY TO SECOND |
VARCHAR |
The interval data type is not supported by Snowflake. Transformed to VARCHAR. With the |
その他のデータ型¶
Redshift |
Snowflake |
注意 |
|---|---|---|
GEOMETRY |
GEOMETRY |
座標は、実数(x、y)のペアとして表されます。現在、2D座標のみがサポートされています。 |
GEOGRAPHY |
GEOGRAPHY |
GEOGRAPHY データ型は WGS 84標準に従っています。 |
HLLSKETCH |
N/A |
Snowflakeではサポートされていないデータ型です。詳細は SSC-EWI-RS0004をご参照ください。 |
SUPER |
VARIANT |
OBJECT、 ARRAY の値を含む、その他のデータ型の値を含めることができます。 |
INTERVAL DAY TO SECOND データ型¶
説明¶
INTERVAL DAY TO SECOND は間隔リテラルを指定して、日、時、分、秒の単位で期間を定義します。(RedShift SQL 言語リファレンス間隔データ型)
By default, there is no equivalent for this data type in Snowflake and it is transformed to VARCHAR.
注釈
Preview Feature: When the --UseIntervalDatatype preview flag is enabled, Redshift INTERVAL columns are preserved as native Snowflake INTERVAL types. See the Interval Data Types translation reference for complete transformation details.
文法構文¶
警告
間隔データ型の使用は、将来のアップデートで実装される予定です。
サンプルソースパターン¶
テーブル作成時の日~秒の間隔¶
入力¶
Redshift¶
出力¶
Snowflake¶
The Interval value is transformed to a supported Snowflake format and then inserted as text inside the column. Since Snowflake does not support Interval as a data type, it is only supported in arithmetic operations. To use the value, it needs to be extracted and used as an Interval constant (if possible).
Original Redshift value: INTERVAL '1 2:3:4.567' DAY TO SECOND
Snowflake列に格納された値: '1日、2時間、3分、4秒、56ミリ秒'
Snowflake間隔定数としての値: INTERVAL '1日、2時間、3分、4秒、56ミリ秒'
日~秒の間隔列からのデータの取得¶
入力¶
Redshift¶
結果¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1日 2時間 0分 0.0秒 |
NULL |
NULL |
1日 2時間 3分 4.56秒 |
出力¶
Snowflake¶
結果¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1日、2時間 |
NULL |
NULL |
1日、2時間、3分、4秒、56ミリ秒 |
既知の問題¶
1.算術演算のみがサポートされています¶
Snowflake間隔にはいくつかの制限があります。DATE または TIMESTAMP と 間隔定数 間の算術演算のみがサポートされており、その他のシナリオはサポートされていません。
関連 EWIs¶
SSC-EWI-0036: データ型が別のデータ型に変換されました。
INTERVAL YEAR TO MONTH データ型¶
説明¶
INTERVAL YEAR TO MONTH は間隔データ型を指定し、年単位と月単位で期間を保存します。(RedShift SQL 言語リファレンス間隔データ型)
Snowflakeにはこのデータ型に相当するものはなく、現在は VARCHAR に変換されています。
文法構文¶
警告
間隔データ型の使用は、将来のアップデートで実装される予定です。
サンプルソースパターン¶
テーブル作成時の年~月の間隔¶
入力:¶
Redshift¶
出力¶
Snowflake¶
The Interval value is transformed to a supported Snowflake format and then inserted as text inside the column. Since Snowflake does not support Interval as a data type, it is only supported in arithmetic operations. To use the value, it needs to be extracted and used as an Interval constant (if possible).
Redshiftのオリジナル値: INTERVAL '1-2' YEAR TO MONTH
Snowflake列に格納された値: '1y, 2m'
Snowflake間隔定数としての値: INTERVAL '1y, 2m'
年~月の間隔列からのデータの取得¶
入力¶
Redshift¶
結果¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12年0ヶ月 |
NULL |
NULL |
NULL |
0年5ヶ月 |
NULL |
NULL |
NULL |
1000年11ヶ月 |
出力¶
Snowflake¶
結果¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 y 0 mm |
NULL |
NULL |
NULL |
0 y 5 mm |
NULL |
NULL |
NULL |
1000年11ヶ月 |
既知の問題¶
1.算術演算のみがサポートされています¶
Snowflake間隔にはいくつかの制限があります。DATE または TIMESTAMP と 間隔定数 間の算術演算のみがサポートされており、その他のシナリオはサポートされていません。
関連 EWIs¶
SSC-EWI-0036: データ型が別のデータ型に変換されました。
数値形式モデル¶
説明¶
これらは、 Redshift でサポートされているさまざまな数値形式と、 Snowflake でそれに相当するものです。
Redshift |
Snowflake |
コメント |
|---|---|---|
0 |
0 |
|
9 |
9 |
|
.(ピリオド)、D |
.(ピリオド)、D |
|
,(コンマ) |
,(コンマ) |
|
CC |
現在、SnowflakeにはCentury Codeに相当するものはありません。 |
|
FM |
FM |
|
PR |
現在、Snowflakeにはこの形式に相当するものはありません。 |
|
S |
S |
明示的な数値記号。 |
L |
$ |
通貨記号のプレースホルダー。 |
G |
G |
|
MI |
MI |
マイナス記号(負の数の場合) |
PL |
S |
現在、Snowflakeにはプラス記号に相当するものはありません。そのため、明示的な数値記号に変換されます。 |
SG |
S |
指定された位置の明示的な数値記号。 |
RN |
現在、Snowflakeにはローマ数字に相当するものはありません。 |
|
TH |
現在、SnowflakeにはOrdinal接尾辞に相当するものはありません |
サンプルソースパターン¶
To_Number関数での使用¶
入力:¶
Redshift¶
結果¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.30 | 1254.88 |
出力¶
Snowflake¶
結果¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.300 | 12454.88 |
入力:¶
Redshift¶
結果¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
出力:¶
Snowflake¶
結果¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
To_Char関数での使用¶
入力:¶
Redshift¶
結果¶
| signed_number | decimal_number | negative | minus_sign | plus_sign | multiple_ninesmultiple_nines | exact_zerosexact_zeros |
|---|---|---|---|---|---|---|
| '123-' | '12,454.88' | '-12,454.88' | '12454.88' | '-12,454.88' | '09423' | '09423' |
出力:¶
Snowflake¶
結果¶
| signed_number | decimal_number | negative | minus_sign | plus_sign | multiple_ninesmultiple_nines | exact_zerosexact_zeros |
|---|---|---|---|---|---|---|
| '123-' | '12,454.88' | '-12,454.88' | '12454.88' | '-12,454.88' | '09423' | '09423' |
サポートされていない形式¶
以下の形式はサポートされていません。その場合は EWI が付きます。
入力:¶
出力:¶
既知の問題¶
1.数字の内側に数字記号を使用することはサポートされていません。¶
Snowflakeでは、数値の先頭または末尾ではなく、数値の内部で任意の数値記号形式(MI、 SG または PL)が使用されている場合はサポートされていません
例
関連 EWIs¶
SSC-EWI-0006 :現在の日付/数値フォーマットは、Snowflake では異なる動作をする可能性があります。