SnowConvert AI - Redshift - Types de données¶
Conversion des types de données actuels pour Redshift dans SnowConvert AI.
Snowflake prend en charge la plupart des types de données de base SQL (avec quelques restrictions) pour une utilisation en colonnes, variables locales, expressions, paramètres et tout autre emplacement approprié.
Types de données numériques ¶
Redshift |
Snowflake |
Remarques |
|---|---|---|
INT |
INT |
INT de Snowflake est un alias de NUMBER. |
INT2 |
SMALLINT |
INT2 de Snowflake est un alias de NUMBER. |
INT4 |
INTEGER |
INT4 de Snowflake est un alias de NUMBER. |
INT8 |
INTEGER |
INT8 de Snowflake est un alias de NUMBER. |
INTEGER |
INTEGER |
INTEGER de Snowflake est un alias de NUMBER. |
BIGINT |
BIGINT |
BIGINT de Snowflake est un alias de NUMBER. |
DECIMAL |
DECIMAL |
DECIMAL de Snowflake est un alias de NUMBER. |
DOUBLE PRECISION |
DOUBLE PRECISION |
DOUBLE PRECISION de Snowflake est un alias de FLOAT. |
NUMERIC |
NUMERIC |
NUMERIC de Snowflake est un alias de NUMBER. |
SMALLINT |
SMALLINT |
SMALLINT de Snowflake est un alias de NUMBER. |
FLOAT |
FLOAT |
Snowflake utilise des nombres à virgule flottante de double précision (bit64) IEEE 754. |
FLOAT4 |
FLOAT4 |
FLOAT4 de Snowflake est un alias de FLOAT. |
FLOAT8 |
FLOAT8 |
FLOAT8 de Snowflake est un alias de FLOAT. |
REAL |
REAL |
REAL de Snowflake est un alias de FLOAT. |
Types de caractères ¶
Redshift |
Snowflake |
Remarques |
|---|---|---|
VARCHAR |
VARCHAR |
VARCHAR contient des caractères Unicode UTF-8. Si aucune longueur n’est spécifiée, la valeur par défaut est la longueur maximale autorisée (16 777 216). |
CHAR |
CHAR |
CHAR de Snowflake est un alias de VARCHAR. |
CHARACTER |
CHARACTER |
CHARACTER de Snowflake est un alias de VARCHAR. |
NCHAR |
NCHAR |
NCHAR de Snowflake est un alias de VARCHAR. |
BPCHAR |
VARCHAR |
Le type de données BPCHAR n’est pas pris en charge dans Snowflake. VARCHAR est utilisé à la place. Pour plus d’informations, veuillez consulter SSC-FDM-PG0002. |
NVARCHAR |
NVARCHAR |
NVARCHAR de Snowflake est un alias de VARCHAR. |
CHARACTER VARYING |
CHARACTER VARYING |
CHARACTER VARYING de Snowflake est un alias de VARCHAR. |
NATIONAL CHARACTER |
NCHAR |
NCHAR de Snowflake est un alias de VARCHAR. |
NATIONAL CHARACTER VARYING |
NCHAR VARYING |
NCHAR VARYING de Snowflake est un alias de VARCHAR. |
TEXT |
TEXT |
TEXT de Snowflake est un alias de VARCHAR. |
NAME (Type de caractère spécial) |
VARCHAR |
VARCHAR contient des caractères Unicode UTF-8. Si aucune longueur n’est spécifiée, la valeur par défaut est la longueur maximale autorisée (16 777 216). |
Note
Lorsque l’argument de précision MAX est présent dans les types de données Redshift, ceux-ci sont transformés en fonction de la précision maximale par défaut prise en charge par Snowflake.
Types booléens ¶
Redshift |
Snowflake |
Remarques |
|---|---|---|
BOOL |
BOOLEAN |
|
BOOLEAN |
BOOLEAN |
Types de données binaires ¶
Redshift |
Snowflake |
Remarques |
|---|---|---|
VARBYTE |
VARBINARY |
VARBINARY est synonyme de BINARY. |
VARBINARY |
VARBINARY |
VARBINARY est synonyme de BINARY. |
BINARY |
BINARY |
La longueur maximale est de 8 MB (8 388 608 octets) |
BINARY VARYING |
BINARY VARYING |
BINARYVARYING est synonyme de BINARY. |
Avertissement
La longueur maximale des types binaires dans Redshift est de 16 MB (16 777 216 octets), mais dans Snowflake, elle est de 8 MB (8 388 608 octets). Veuillez tenir compte de cette réduction de la longueur maximale.
Types de données date et heure ¶
Redshift |
Snowflake |
Remarques |
|---|---|---|
DATE |
DATE |
DATE accepts dates in the most common forms (such as |
TIME |
TIME |
Stockage des temps sous la forme |
TIMETZ |
TIME |
Fuseau horaire non pris en charge pour le type de données horaires. Pour plus d’informations, veuillez vous référer à SSC-FDM-0005. |
TIME WITH TIME ZONE |
TIME |
Fuseau horaire non pris en charge pour le type de données horaires. Pour plus d’informations, veuillez vous référer à SSC-FDM-0005. |
TIME WITHOUT TIME ZONE |
TIME |
Snowflake prend en charge un seul type de données TIME pour stocker les heures sous la forme de |
TIMESTAMP |
TIMESTAMP |
La précision de l’horodatage peut varier de 0 (secondes) à 9 (nanosecondes). |
TIMESTAMPTZ |
TIMESTAMP_TZ |
TIMESTAMP_TZ enregistre en interne l’heure UTC avec un time zone offset associé. |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP_TZ |
TIMESTAMP_TZ enregistre en interne l’heure UTC avec un time zone offset associé. |
TIMESTAMP WITHOUT TIME ZONE |
TIMESTAMP_NTZ |
TIMESTAMP_NTZ stocke en interne l’heure « horloge murale » avec une précision spécifiée. |
INTERVAL YEAR TO MONTH |
VARCHAR |
Le type de données intervalle n’est pas pris en charge par Snowflake. Transformé en VARCHAR. |
INTERVAL DAY TO SECOND |
VARCHAR |
Le type de données intervalle n’est pas pris en charge par Snowflake. Transformé en VARCHAR. |
Autres types de données ¶
Redshift |
Snowflake |
Remarques |
|---|---|---|
GEOMETRY |
GEOMETRY |
Les coordonnées sont représentées par des paires de nombres réels (x, y). Actuellement, seules les coordonnées 2D sont prises en charge. |
GEOGRAPHY |
GEOGRAPHY |
Le type de données GEOGRAPHY suit la norme 84 WGS. |
HLLSKETCH |
N/A |
Type de données non pris en charge par Snowflake. Pour de plus amples informations, veuillez consulter SSC-EWI-RS0004. |
SUPER |
VARIANT |
Peut contenir une valeur de tout autre type de données, y compris les valeurs OBJECT et ARRAY. |
Type de données INTERVALDAYTOSECOND¶
Description¶
INTERVAL DAY TO SECOND spécifiez un littéral d’intervalle pour définir une durée en jours, heures, minutes et secondes. (Référence linguistique RedShift SQL type de données Intervalle)
Il n’y a pas d’équivalent pour ce type de données dans Snowflake, il est actuellement transformé en VARCHAR.
Grammar Syntax ¶
Avertissement
L’utilisation du type de données Intervalle est planifiée dans les prochaines mises à jour.
Modèles d’échantillons de sources¶
Intervalle entre le jour et la seconde dans Create table¶
Entrée¶
Redshift¶
Sortie¶
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
Valeur stockée dans la colonne Snowflake : '1days, 2hours, 3mins, 4secs, 56ms'
Valeur de la constante d’intervalle Snowflake : INTERVAL '1days, 2hours, 3mins, 4secs, 56ms'
Récupération des données d’une colonne Intervalle Jour à Seconde¶
Entrée¶
Redshift¶
Résultat¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1 jours 2 heures 0 min 0,0 sec |
NULL |
NULL |
1 jours 2 heures 3 minutes 4,56 secondes |
Sortie¶
Snowflake¶
Résultat¶
interval_day_col1 |
interval_day_col2 |
|---|---|
1j, 2h |
NULL |
NULL |
1j, 2h, 3m, 4s, 56ms |
Problèmes connus¶
1. Only arithmetic operations are supported¶
Les intervalles Snowflake ont plusieurs limites. Seules les opérations arithmétiques entre DATE ou TIMESTAMP et les constantes d’intervalle sont prises en charge, tout autre scénario n’est pas pris en charge.
EWIs connexes¶
SSC-EWI-0036 : Type de données converti en un autre type de données.
Type de données INTERVALYEARTOMONTH¶
Description¶
INTERVAL YEAR TO MONTH spécifiez un type de données intervalles pour stocker une durée en années et en mois. (Référence linguistique RedShift SQL type de données Intervalle)
Il n’y a pas d’équivalent pour ce type de données dans Snowflake, il est actuellement transformé en VARCHAR.
Grammar Syntax ¶
Avertissement
L’utilisation du type de données Intervalle est planifiée dans les prochaines mises à jour.
Modèles d’échantillons de sources¶
Intervalle entre l’année et le mois dans Create table¶
Entrée :¶
Redshift¶
Sortie¶
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).
Valeur originale de Redshift : INTERVAL '1-2' YEAR TO MONTH
Valeur stockée dans la colonne Snowflake : « 1y, 2m »
Valeur en tant que constante d’intervalle Snowflake : INTERVAL « 1y, 2m »
Récupération des données d’une colonne Intervalle année-mois¶
Entrée¶
Redshift¶
Résultat¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 ans 0 mois |
NULL |
NULL |
NULL |
0 an 5 mois |
NULL |
NULL |
NULL |
1 000 ans 11 mois |
Sortie¶
Snowflake¶
Résultat¶
interval_year_col1 |
interval_year_col2 |
interval_year_col2 |
|---|---|---|
12 a 0 mm |
NULL |
NULL |
NULL |
0 a 5 mm |
NULL |
NULL |
NULL |
1 000 a 11 mois |
Problèmes connus¶
1. Only arithmetic operations are supported¶
Les intervalles Snowflake ont plusieurs limites. Seules les opérations arithmétiques entre DATE ou TIMESTAMP et les constantes d’intervalle sont prises en charge, tout autre scénario n’est pas pris en charge.
EWIs connexes¶
SSC-EWI-0036 : Type de données converti en un autre type de données.
Modèles de format numérique¶
Description¶
Il s’agit des différents formats numériques supportés par Redshift et son équivalent dans Snowflake.
Redshift |
Snowflake |
Commentaires |
|---|---|---|
0 |
0 |
|
9 |
9 |
|
. (point), D |
. (point), D |
|
, (virgule) |
, (virgule) |
|
CC |
Actuellement, il n’y a pas d’équivalent de Century Code dans Snowflake. |
|
FM |
FM |
|
PR |
Actuellement, il n’y a pas d’équivalent pour ce format dans Snowflake. |
|
S |
S |
Signe numérique explicite. |
L |
$ |
Caractère générique du symbole de la monnaie. |
G |
G |
|
MI |
MI |
Signe moins (pour les nombres négatifs) |
PL |
S |
Actuellement, il n’y a pas d’équivalent pour le signe plus dans Snowflake. Il est donc traduit en signe numérique explicite. |
SG |
S |
Signe numérique explicite à la position spécifiée. |
RN |
Actuellement, il n’y a pas d’équivalent pour les numériques romains dans Snowflake. |
|
TH |
Actuellement, il n’y a pas d’équivalent pour le suffixe ordinal dans Snowflake |
Modèles d’échantillons de sources¶
Utilisations dans la fonction To_Number¶
Entrée :¶
Redshift¶
Résultats¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.30 | 1254.88 |
Sortie¶
Snowflake¶
Résultats¶
| multiple_nines | exact_zeros | decimals | fill_mode | currency |
|---|---|---|---|---|
| 9423 | 9423 | 123.456 | 123031.300 | 12454.88 |
Entrée :¶
Redshift¶
Résultats¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
Sortie :¶
Snowflake¶
Résultats¶
| currency_L | signed_number_end | plus_sign | minus_sign | signed_number |
|---|---|---|---|---|
| 12454.8 | -123 | 1254.88 | -12454.88 | -12454.88 |
Utilisations dans la fonction To_Char¶
Entrée :¶
Redshift¶
Résultats¶
| 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' |
Sortie :¶
Snowflake¶
Résultats¶
| 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' |
Format non pris en charge¶
Le format suivant n’est pas pris en charge, ce qui signifie qu’il sera signalé par un EWI.
Entrée :¶
Sortie :¶
Problèmes connus¶
1. Using numeric signs inside the number not supported.¶
Lorsqu’un format de signe numérique (MI, SG ou PL) est utilisé à l’intérieur du nombre, au lieu du début ou de la fin du nombre, Snowflake ne le prend pas en charge
Exemple
EWIs connexes¶
SSC-EWI-0006 : le format de date/numérique actuel peut avoir un comportement différent dans Snowflake.