SnowConvert AI – Redshift – Datentypen¶
Aktuelle Datentypkonvertierung für Redshift in SnowConvert AI.
Snowflake unterstützt die meisten grundlegenden SQL-Datentypen (mit einigen Einschränkungen) bei Verwendung in Spalten, lokalen Variablen, Ausdrücken, Parametern und anderen geeigneten Orten.
Numerische Datentypen ¶
Redshift |
Snowflake |
Anmerkungen |
|---|---|---|
INT |
INT |
Snowflakes INT ist ein Alias für NUMBER. |
INT2 |
SMALLINT |
Snowflakes INT2 ist ein Alias für NUMBER. |
INT4 |
INTEGER |
Snowflakes INT4 ist ein Alias für NUMBER. |
INT8 |
INTEGER |
Snowflakes INT8 ist ein Alias für NUMBER. |
INTEGER |
INTEGER |
Snowflakes INTEGER ist ein Alias für NUMBER. |
BIGINT |
BIGINT |
Snowflakes BIGINT ist ein Alias für NUMBER. |
DECIMAL |
DECIMAL |
Snowflakes DECIMAL ist ein Alias für NUMBER. |
DOUBLE PRECISION |
DOUBLE PRECISION |
Snowflakes DOUBLEPRECISION ist ein Alias für FLOAT. |
NUMERIC |
NUMERIC |
Snowflakes NUMERIC ist ein Alias für NUMBER. |
SMALLINT |
SMALLINT |
Snowflakes SMALLINT ist ein Alias für NUMBER. |
FLOAT |
FLOAT |
Snowflake verwendet Fließkommazahlen mit doppelter Genauigkeit (64 Bit) IEEE 754. |
FLOAT4 |
FLOAT4 |
Snowflakes FLOAT4 ist ein Alias für FLOAT. |
FLOAT8 |
FLOAT8 |
Snowflakes FLOAT8 ist ein Alias für FLOAT. |
REAL |
REAL |
Snowflakes REAL ist ein Alias für FLOAT. |
Zeichentypen ¶
Redshift |
Snowflake |
Anmerkungen |
|---|---|---|
VARCHAR |
VARCHAR |
VARCHAR enthält Unicode/UTF-8-Zeichen. Wenn keine Länge angegeben wird, ist der Standard die maximal zulässige Länge (16.777.216). |
CHAR |
CHAR |
Snowflakes CHAR ist ein Alias für VARCHAR. |
CHARACTER |
CHARACTER |
Snowflakes CHARACTER ist ein Alias für VARCHAR. |
NCHAR |
NCHAR |
Snowflakes NCHAR ist ein Alias für VARCHAR. |
BPCHAR |
VARCHAR |
BPCHAR-Datentyp wird in Snowflake nicht unterstützt. VARCHAR wird stattdessen verwendet. Weitere Informationen finden Sie unter [SSC-FDM-PG0002](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM. md#ssc-fdm-pg0002). |
NVARCHAR |
NVARCHAR |
Snowflakes NVARCHAR ist ein Alias für VARCHAR. |
CHARACTER VARYING |
CHARACTER VARYING |
Snowflakes CHARACTERVARYING ist ein Alias für VARCHAR. |
NATIONAL CHARACTER |
NCHAR |
Snowflakes NCHAR ist ein Alias für VARCHAR. |
NATIONAL CHARACTER VARYING |
NCHAR VARYING |
Snowflakes NCHARVARYING ist ein Alias für VARCHAR. |
TEXT |
TEXT |
Snowflakes TEXT ist ein Alias für VARCHAR. |
NAME (Sonderzeichentyp) |
VARCHAR |
VARCHAR enthält Unicode/UTF-8-Zeichen. Wenn keine Länge angegeben wird, ist der Standard die maximal zulässige Länge (16.777.216). |
Bemerkung
Wenn das Argument MAX precision in den Redshift-Datentypen vorhanden ist, werden sie in die von Snowflake unterstützte Standardpräzision umgewandelt.
Boolesche Typen ¶
Redshift |
Snowflake |
Anmerkungen |
|---|---|---|
BOOL |
BOOLEAN |
|
BOOLEAN |
BOOLEAN |
Binäre Datentypen ¶
Redshift |
Snowflake |
Anmerkungen |
|---|---|---|
VARBYTE |
VARBINARY |
VARBINARY ist gleichbedeutend mit BINARY. |
VARBINARY |
VARBINARY |
VARBINARY ist gleichbedeutend mit BINARY. |
BINARY |
BINARY |
Die maximale Länge beträgt 8 MB (8.388.608 Bytes). |
BINARY VARYING |
BINARY VARYING |
BINARYVARYING ist gleichbedeutend mit BINARY. |
Warnung
Die maximale Länge für binäre Typen in Redshift beträgt 16 MB (16.777.216 Bytes), in Snowflake jedoch 8 MB (8.388.608 Bytes). Bitte berücksichtigen Sie diese Kürzung der maximalen Länge.
Datum & Zeit Datentypen ¶
Redshift |
Snowflake |
Anmerkungen |
|---|---|---|
DATE |
DATE |
DATE accepts dates in the most common forms (such as |
TIME |
TIME |
Speichern von Zeiten in der Form |
TIMETZ |
TIME |
Zeitzone wird für den Datentyp Zeit nicht unterstützt. Weitere Informationen finden Sie unter [SSC-FDM-0005](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM. md#ssc-fdm-0005). |
TIME WITH TIME ZONE |
TIME |
Zeitzone wird für den Datentyp Zeit nicht unterstützt. Weitere Informationen finden Sie unter [SSC-FDM-0005](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM. md#ssc-fdm-0005). |
TIME WITHOUT TIME ZONE |
TIME |
Snowflake unterstützt einen einzigen TIME-Datentyp zum Speichern von Zeiten im Format |
TIMESTAMP |
TIMESTAMP |
Die Genauigkeit eines Zeitstempels kann zwischen 0 (Sekunden) und 9 (Nanosekunden) liegen. |
TIMESTAMPTZ |
TIMESTAMP_TZ |
TIMESTAMP_TZ speichert intern die UTC-Zeit zusammen mit einem zugehörigen Zeitzonenoffset. |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP_TZ |
TIMESTAMP_TZ speichert intern die UTC-Zeit zusammen mit einem zugehörigen Zeitzonenoffset. |
TIMESTAMP WITHOUT TIME ZONE |
TIMESTAMP_NTZ |
TIMESTAMP_NTZ speichert intern die „Wanduhr“-Zeit mit einer bestimmten Genauigkeit. |
INTERVAL YEAR TO MONTH |
VARCHAR |
Der Datentyp Intervall wird von Snowflake nicht unterstützt. Verwandelt in VARCHAR. |
INTERVAL DAY TO SECOND |
VARCHAR |
Der Datentyp Intervall wird von Snowflake nicht unterstützt. Verwandelt in VARCHAR. |
Andere Datentypen ¶
Redshift |
Snowflake |
Anmerkungen |
|---|---|---|
GEOMETRY |
GEOMETRY |
Die Koordinaten werden als Paare von reellen Zahlen (x, y) dargestellt. Derzeit werden nur 2D-Koordinaten unterstützt. |
GEOGRAPHY |
GEOGRAPHY |
Der Datentyp GEOGRAPHY verwendet WGS-84 als globales Georeferenzsystem. |
HLLSKETCH |
N/A |
Datentyp wird in Snowflake nicht unterstützt. Weitere Informationen finden Sie unter [SSC-EWI-RS0004](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/redshiftEWI. md#ssc-ewi-rs0004). |
SUPER |
VARIANT |
Kann einen Wert eines beliebigen anderen Datentyps enthalten, einschließlich der Werte OBJECT und ARRAY. |
INTERVALDAYTOSECOND-Datentyp¶
Beschreibung¶
INTERVAL DAY TO SECOND ein Intervall-Literal angeben, um eine Dauer in Tagen, Stunden, Minuten und Sekunden zu definieren. (RedShift SQL-Referenz: Intervall-Datentyp)
Es gibt keine Entsprechung für diesen Datentyp in Snowflake, er wird derzeit in VARCHAR umgewandelt.
Grammatikalische Syntax ¶
Warnung
Die Verwendung des Datentyps Intervall ist für zukünftige Updates geplant.
Beispielhafte Quellcode-Muster¶
Intervall Tag bis Sekunde in Create Table¶
Eingabe¶
Redshift¶
Ausgabe¶
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
In der Spalte Snowflake gespeicherter Wert: '1days, 2hours, 3mins, 4secs, 56ms'
Wert als Snowflake-Intervall-Konstante: INTERVAL '1days, 2hours, 3mins, 4secs, 56ms'
Abrufen von Daten aus einer Spalte Intervall Tag bis Sekunde¶
Eingabe¶
Redshift¶
Result¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1 days 2 hours 0 mins 0.0 secs |
NULL |
NULL |
1 days 2 hours 3 mins 4.56 secs |
Ausgabe¶
Snowflake¶
Result¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1d, 2h |
NULL |
NULL |
1d, 2h, 3m, 4s, 56ms |
Bekannte Probleme¶
1. Only arithmetic operations are supported¶
Snowflake-Intervalle haben mehrere Beschränkungen. Es werden nur arithmetische Operationen zwischen DATE oder TIMESTAMP und Intervallkonstanten unterstützt, alle anderen Szenarien werden nicht unterstützt.
Zugehörige EWIs¶
[SSC-EWI-0036](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0036): Datentyp in einen anderen Datentyp konvertiert.
INTERVALYEARTOMONTH-Datentyp¶
Beschreibung¶
INTERVAL YEAR TO MONTH einen Intervall-Datentyp angeben, um eine Zeitdauer in Jahren und Monaten zu speichern. (RedShift SQL-Referenz: Intervall-Datentyp)
Es gibt keine Entsprechung für diesen Datentyp in Snowflake, er wird derzeit in VARCHAR umgewandelt.
Grammatikalische Syntax ¶
Warnung
Die Verwendung des Datentyps Intervall ist für zukünftige Updates geplant.
Beispielhafte Quellcode-Muster¶
Intervall Jahr bis Monat in Create Table¶
Eingabe:¶
Redshift¶
Ausgabe¶
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).
Ursprünglicher Redshift-Wert: INTERVAL '1-2' YEAR TO MONTH
In der Spalte Snowflake gespeicherter Wert: '1y, 2m'
Wert als Snowflake-Intervall-Konstante: INTERVAL '1y, 2m'
Abrufen von Daten aus einer Spalte Intervall Jahr bis Monat¶
Eingabe¶
Redshift¶
Result¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 years 0 mons |
NULL |
NULL |
NULL |
0 years 5 mons |
NULL |
NULL |
NULL |
1000 years 11 mons |
Ausgabe¶
Snowflake¶
Result¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 y 0 mm |
NULL |
NULL |
NULL |
0 y 5 mm |
NULL |
NULL |
NULL |
1000 y 11 mons |
Bekannte Probleme¶
1. Only arithmetic operations are supported¶
Snowflake-Intervalle haben mehrere Beschränkungen. Es werden nur arithmetische Operationen zwischen DATE oder TIMESTAMP und Intervallkonstanten unterstützt, alle anderen Szenarien werden nicht unterstützt.
Zugehörige EWIs¶
[SSC-EWI-0036](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0036): Datentyp in einen anderen Datentyp konvertiert.
Numerische Formatmodelle¶
Beschreibung¶
Dies sind die verschiedenen numerischen Formate, die von Redshift und seiner Entsprechung in Snowflake unterstützt werden.
Redshift |
Snowflake |
Kommentare |
|---|---|---|
0 |
0 |
|
9 |
9 |
|
. (Punkt), D |
. (Punkt), D |
|
, (Komma) |
, (Komma) |
|
CC |
Derzeit gibt es keine Entsprechung für Century Code in Snowflake. |
|
FM |
FM |
|
PR |
Derzeit gibt es keine Entsprechung für dieses Format in Snowflake. |
|
S |
S |
Explizites numerisches Zeichen. |
L |
$ |
Platzhalter für das Währungssymbol. |
G |
G |
|
MI |
MI |
Minuszeichen (für negative Zahlen) |
PL |
S |
Derzeit gibt es keine Entsprechung für das Pluszeichen in Snowflake. Es wird also in das explizite numerische Zeichen übersetzt. |
SG |
S |
Explizites numerisches Vorzeichen an der angegebenen Position. |
RN |
Derzeit gibt es keine Entsprechung für römische Ziffern in Snowflake. |
|
TH |
Derzeit gibt es keine Entsprechung für Ordnungszahlsuffixe in Snowflake |
Beispielhafte Quellcode-Muster¶
Verwendungen in der Funktion To_Number¶
Eingabe:¶
Redshift¶
Ergebnisse¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.30 | 1254.88 |
Ausgabe¶
Snowflake¶
Ergebnisse¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.300 | 12454.88 |
Eingabe:¶
Redshift¶
Ergebnisse¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
Ausgabe:¶
Snowflake¶
Ergebnisse¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
Verwendungen in der Funktion To_Char¶
Eingabe:¶
Redshift¶
Ergebnisse¶
| 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' |
Ausgabe:¶
Snowflake¶
Ergebnisse¶
| 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' |
Nicht unterstütztes Format¶
Das folgende Format wird nicht unterstützt und ist mit einem EWI gekennzeichnet.
Eingabe:¶
Ausgabe:¶
Bekannte Probleme¶
1. Using numeric signs inside the number not supported.¶
Wenn ein beliebiges numerisches Vorzeichenformat (MI, SG oder PL) innerhalb der Zahl verwendet wird, anstatt am Anfang oder am Ende der Zahl, wird dies von Snowflake nicht unterstützt
Beispiel
Zugehörige EWIs¶
SSC-EWI-0006: Das aktuelle Datumsformat/numerische Format weist in Snowflake möglicherweise ein anderes Verhalten auf.