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 |
間隔データ型はSnowflakeではサポートされていません。VARCHAR に変換されます。 |
INTERVAL DAY TO SECOND |
VARCHAR |
間隔データ型はSnowflakeではサポートされていません。VARCHAR に変換されます。 |
その他のデータ型¶
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 言語リファレンス間隔データ型)
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).
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 では異なる動作をする可能性があります。