SnowConvert AI - Redshift - Expressions¶
Listes d’expressions¶
Description¶
Une liste d’expressions est une combinaison d’expressions et peut apparaître dans des conditions d’appartenance et de comparaison (clauses WHERE) et dans des clauses GROUP BY. (Référence linguistique Redshift SQL Listes d’expressions).
Remarque
Cette syntaxe est entièrement prise en charge par Snowflake.
Grammar Syntax¶
Modèles d’échantillons de sources¶
Données de configuration¶
Redshift¶
Clause IN¶
Code d’entrée :¶
Redshift¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
2 |
Bob |
5 |
banana |
200 |
3 |
Charlie |
10 |
cherry |
300 |
Code de sortie :¶
Snowflake¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
2 |
Bob |
5 |
banana |
200 |
3 |
Charlie |
10 |
cherry |
300 |
Comparaisons¶
Code d’entrée :¶
Redshift¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
Code de sortie :¶
Snowflake¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
Note
Les comparaisons de listes d’expressions avec les opérateurs suivants peuvent avoir un comportement différent dans Snowflake (<, <= , >, >=). Ces opérateurs sont transformés en opérations logiques AND pour obtenir une équivalence totale dans Snowflake.
Code d’entrée :¶
Redshift¶
Résultat¶
R1 |
R2 |
R3 |
R4 |
R5 |
|---|---|---|---|---|
FALSE |
FALSE |
NULL |
NULL |
FALSE |
Code de sortie :¶
Snowflake¶
Résultat¶
R1 |
R2 |
R3 |
R4 |
R5 |
|---|---|---|---|---|
FALSE |
FALSE |
NULL |
NULL |
FALSE |
Tuples imbriqués¶
Code d’entrée :¶
Redshift¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
2 |
Bob |
5 |
banana |
200 |
3 |
Charlie |
10 |
cherry |
300 |
Code de sortie¶
Snowflake¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
2 |
Bob |
5 |
banana |
200 |
3 |
Charlie |
10 |
cherry |
300 |
Instruction de casse¶
Code d’entrée :¶
Redshift¶
Résultat¶
RESULT |
|---|
Trouvé. |
Trouvé. |
Trouvé. |
Introuvable |
Introuvable |
Introuvable |
Code de sortie¶
Snowflake¶
Résultat¶
RESULT |
|---|
Trouvé. |
Trouvé. |
Trouvé. |
Introuvable |
Introuvable |
Introuvable |
Expressions multiples¶
Code d’entrée :¶
Redshift¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
2 |
Bob |
5 |
banana |
200 |
3 |
Charlie |
10 |
cherry |
300 |
Code de sortie¶
Snowflake¶
Résultat¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
Alice |
1 |
apple |
100 |
2 |
Bob |
5 |
banana |
200 |
3 |
Charlie |
10 |
cherry |
300 |
Jointures¶
Code d’entrée :¶
Redshift¶
Résultat¶
QUANTITY |
FRUIT |
QUANTITY |
FRUIT |
|---|---|---|---|
un |
apple |
un |
apple |
Code de sortie¶
Snowflake¶
Résultat¶
QUANTITY |
FRUIT |
QUANTITY |
FRUIT |
|---|---|---|---|
un |
apple |
un |
apple |
Problèmes connus ¶
Aucun problème n’a été constaté.
Expressions composées¶
Description ¶
Une expression composée est une série d’expressions simples reliées par des opérateurs arithmétiques. Une expression simple utilisée dans une expression composée doit renvoyer une valeur numérique.
(Expressions composées de référence de langage RedShift SQL)
Grammar Syntax ¶
Table de conversion¶
| Redshift | Snowflake | Comments |
|---|---|---|
|| (Concatenation) | || | Fully supported by Snowflake |
Modèles d’échantillons de sources¶
Code d’entrée :¶
Redshift¶
Résultats¶
concat_string_number |
|---|
Hello a le numéro 42 |
<NULL> |
Redshift a le numéro -7 |
concat_string_date |
|---|
Bonjour le 2023-12-01 |
<NULL> |
<NULL> |
concat_with_null_handling |
|---|
Bonjour avec le numéro 42 |
Inconnu avec le numéro 0 |
Redshift avec le numéro -7 |
Code de sortie :
Snowflake¶
Résultats¶
concat_string_number |
|---|
Hello a le numéro 42 |
<NULL> |
Redshift a le numéro -7 |
concat_string_date |
|---|
Bonjour le 2023-12-01 |
<NULL> |
<NULL> |
concat_with_null_handling |
|---|
Bonjour avec le numéro 42 |
Inconnu avec le numéro 0 |
Redshift avec le numéro -7 |
Problèmes connus¶
Aucun problème n’a été constaté.
EWIs connexes¶
Il n’y a pas de problème connu.
Opérateurs arithmétiques¶
Opérateurs
Traduction des opérateurs arithmétiques
Table de conversion¶
| Redshift | Snowflake | Comments |
|---|---|---|
| +/- (positive and negative sign/operator) | +/- | Fully supported by Snowflake |
| ^ (exponentiation) | POWER | Fully supported by Snowflake |
| * (multiplication) | * | Fully supported by Snowflake |
| / (division) | / | Redshift division between integers always returns integer value, FLOOR function is added to emulate this behavior. |
| % (modulo) | % | Fully supported by Snowflake |
| + (addition) | + and || | Fully supported by Snowflake. When string are added, it is transformed to a concat. |
| - (subtraction) | - | Fully supported by Snowflake |
| @ (absolute value) | ABS | Fully supported by Snowflake |
| |/ (square root) | SQRT | Fully supported by Snowflake |
| ||/ (cube root) | CBRT | Fully supported by Snowflake |
Modèles d’échantillons de sources¶
Addition, soustraction, positif et négatif¶
Code d’entrée :
Code d’entrée :¶
Redshift¶
Résultats¶
| positive_value | negative_value | add_sub_result | next_day | one_hour_before | string_sum | int_string_sum | string_int_sum |
|---|---|---|---|---|---|---|---|
| 100.50 | -100.50 | 97.50 | 2024-12-02 10:30:00.000000 | 2024-12-01 09:30:00.000000 | Basic testType A | 105.5 | 105.5 |
| 250.75 | -250.75 | 243.75 | 2024-12-03 15:45:00.000000 | 2024-12-02 14:45:00.000000 | Complex operationsType B | 255.75 | 255.75 |
| -50.25 | 50.25 | -53.25 | 2024-12-04 20:00:00.000000 | 2024-12-03 19:00:00.000000 | Negative base valueType C | -45.25 | -45.25 |
| 0.00 | 0.00 | 8.00 | 2024-12-05 09:15:00.000000 | 2024-12-04 08:15:00.000000 | Zero base valueType D | 5 | 5 |
Code de sortie :
Snowflake¶
Résultats¶
| positive_value | negative_value | add_sub_result | next_day | one_hour_before | string_sum | int_string_sum | string_int_sum |
|---|---|---|---|---|---|---|---|
| 100.5 | -100.5 | 97.5 | 2024-12-02 10:30:00 | 2024-12-01 09:30:00 | Basic testType A | 105.5 | 105.5 |
| 250.75 | -250.75 | 243.75 | 2024-12-03 15:45:00 | 2024-12-02 14:45:00 | Complex operationsType B | 255.75 | 255.75 |
| -50.25 | 50.25 | -53.25 | 2024-12-04 20:00:00 | 2024-12-03 19:00:00 | Negative base valueType C | -45.25 | -45.25 |
| 0 | 0 | 8 | 2024-12-05 09:15:00 | 2024-12-04 08:15:00 | Zero base valueType D | 5 | 5 |
Exponentiation, multiplication, division et modulo¶
Code d’entrée :¶
Redshift¶
Résultats¶
| raised_to_exponent | multiplied_value | divided_value | int_division | modulo_result | add_sub_result | controlled_eval |
|---|---|---|---|---|---|---|
| 10100.25 | 201 | 20.1 | 20 | 1 | 97.5 | 104.5 |
| 15766047.296875 | 752.25 | 25.075 | 25 | 1 | 243.75 | 259.75 |
| 6375940.62890625 | -251.25 | -6.28125 | -6 | 0 | -53.25 | -30.25 |
| 0 | 0 | 0 | 0 | 1 | 8 | 10 |
Code de sortie :¶
Snowflake¶
Résultats¶
| raised_to_exponent | multiplied_value | divided_value | int_division | modulo_result | add_sub_result | controlled_eval |
|---|---|---|---|---|---|---|
| 10100.25 | 201 | 20.1 | 20 | 1 | 97.5 | 104.5 |
| 15766047.2969 | 752.25 | 25.075 | 25 | 1 | 243.75 | 259.75 |
| 6375940.6289 | -251.25 | -6.2812 | -7 | 0 | -53.25 | -30.25 |
| 0 | 0 | 0 | 0 | 1 | 8 | 10 |
Valeur absolue, racine carrée et racine cubique¶
Code d’entrée :¶
Redshift¶
Résultats¶
Code de sortie :¶
Snowflake¶
Résultats¶
Problèmes connus¶
Dans Snowflake, il est possible d’utiliser les opérateurs unaires
+et-avec des valeurs de chaîne, mais dans Redshift, ce n’est pas valable.
EWIs connexes¶
Pas d’EWIs connexes.
Opérateurs binaires¶
Opérateurs
Traduction pour les opérateurs Bitwise
Table de conversion¶
| Redshift | Snowflake | Comments |
|---|---|---|
& (AND) | BITAND | Fully supported by Snowflake |
| (OR) | BITOR | Fully supported by Snowflake |
<< (Shift Left) | BITSHIFTLEFT | |
>> (Shift Right) | BITSHIFTRIGHT | |
# (XOR) | BITXOR | Fully supported by Snowflake |
~ (NOT) | BITNOT | Fully supported by Snowflake |
Modèles d’échantillons de sources¶
Données de configuration¶
Redshift¶
Requête¶
Snowflake¶
Requête¶
Opérateurs bitwise sur les valeurs entières¶
Code d’entrée :¶
Redshift¶
Résultats¶
Code de sortie :
Snowflake¶
Résultats¶
Opérateurs binaires sur des données binaires¶
Pour les fonctions BITAND, BITOR et BITXOR, le paramètre'LEFT' est ajouté pour insérer un espacement dans le cas où les deux valeurs binaires ont une longueur différente, ceci afin d’éviter des erreurs lors de la comparaison des valeurs dans Snowflake.
Redshift¶
Requête¶
Résultat¶
Snowflake¶
Requête¶
Résultat¶
Problèmes connus¶
Aucun problème n’a été constaté.
EWIs connexes¶
SSC-FDM-PG0010 : les résultats peuvent varier en raison du comportement de la fonction bitwise de Snowflake.