SnowConvert AI - Redshift - 式¶
式リスト¶
説明¶
式リストは式の組み合わせで、メンバーシップ条件や比較条件(WHERE 句)や GROUP BY 句で使用できます。(Redshift SQL 言語リファレンス式リスト)。
注意
この構文はSnowflakeで完全にサポートされています。
文法構文¶
サンプルソースパターン¶
設定データ¶
Redshift¶
IN 句¶
入力コード:¶
Redshift¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
2 |
ボブ |
5 |
banana |
200 |
3 |
チャーリー |
10 |
cherry |
300 |
出力コード:¶
Snowflake¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
2 |
ボブ |
5 |
banana |
200 |
3 |
チャーリー |
10 |
cherry |
300 |
比較¶
入力コード:¶
Redshift¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
出力コード:¶
Snowflake¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
注釈
以下の演算子による式リスト比較は、Snowflakeでは動作が異なる場合があります。(<、<=、>、>=)。これらの演算子は、Snowflakeで完全な等価性を実現するために論理的 AND 操作に変換されます。
入力コード:¶
Redshift¶
結果¶
R1 |
R2 |
R3 |
R4 |
R5 |
|---|---|---|---|---|
FALSE |
FALSE |
NULL |
NULL |
FALSE |
出力コード:¶
Snowflake¶
結果¶
R1 |
R2 |
R3 |
R4 |
R5 |
|---|---|---|---|---|
FALSE |
FALSE |
NULL |
NULL |
FALSE |
ネストされたタプル¶
入力コード:¶
Redshift¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
2 |
ボブ |
5 |
banana |
200 |
3 |
チャーリー |
10 |
cherry |
300 |
出力コード¶
Snowflake¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
2 |
ボブ |
5 |
banana |
200 |
3 |
チャーリー |
10 |
cherry |
300 |
ケースステートメント¶
入力コード:¶
Redshift¶
結果¶
RESULT |
|---|
見つかりました |
見つかりました |
見つかりました |
見つかりません |
見つかりません |
見つかりません |
出力コード¶
Snowflake¶
結果¶
RESULT |
|---|
見つかりました |
見つかりました |
見つかりました |
見つかりません |
見つかりません |
見つかりません |
複数の式¶
入力コード:¶
Redshift¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
2 |
ボブ |
5 |
banana |
200 |
3 |
チャーリー |
10 |
cherry |
300 |
出力コード¶
Snowflake¶
結果¶
ID |
NAME |
QUANTITY |
FRUIT |
PRICE |
|---|---|---|---|---|
1 |
アリス |
1 |
apple |
100 |
2 |
ボブ |
5 |
banana |
200 |
3 |
チャーリー |
10 |
cherry |
300 |
結合¶
入力コード:¶
Redshift¶
結果¶
QUANTITY |
FRUIT |
QUANTITY |
FRUIT |
|---|---|---|---|
one |
apple |
one |
apple |
出力コード¶
Snowflake¶
結果¶
QUANTITY |
FRUIT |
QUANTITY |
FRUIT |
|---|---|---|---|
one |
apple |
one |
apple |
既知の問題¶
問題は見つかりませんでした。
複合式¶
説明¶
複合式は、算術演算子によって結合された一連の単純な式です。複合式の中で使われる単純式は、必ず数値を返さなければなりません。
文法構文¶
換算テーブル¶
| Redshift | Snowflake | Comments |
|---|---|---|
|| (Concatenation) | || | Fully supported by Snowflake |
サンプルソースパターン¶
入力コード:¶
Redshift¶
結果¶
concat_string_number |
|---|
Helloは42番です |
<NULL> |
Redshiftは-7番です |
concat_string_date |
|---|
2023年12月1日のHello |
<NULL> |
<NULL> |
concat_with_null_handling |
|---|
42番のHello |
0番の不明 |
-7番のRedshift |
出力コード:
Snowflake¶
結果¶
concat_string_number |
|---|
Helloは42番です |
<NULL> |
Redshiftは-7番です |
concat_string_date |
|---|
2023年12月1日のHello |
<NULL> |
<NULL> |
concat_with_null_handling |
|---|
42番のHello |
0番の不明 |
-7番のRedshift |
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
既知の問題はありません。
算術演算子¶
演算子
算術演算子の翻訳
換算テーブル¶
| 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 |
サンプルソースパターン¶
足し算、引き算、正および負¶
入力コード:
入力コード:¶
Redshift¶
結果¶
| 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 |
出力コード:
Snowflake¶
結果¶
| 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 |
指数、乗算、除算および剰余¶
入力コード:¶
Redshift¶
結果¶
| 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 |
出力コード:¶
Snowflake¶
結果¶
| 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 |
絶対値、平方根、立方根¶
入力コード:¶
Redshift¶
結果¶
出力コード:¶
Snowflake¶
結果¶
既知の問題¶
Snowflakeでは単項演算子
+および-を文字列値で使用できますが、Redshiftでは無効です。
関連 EWIs¶
関連 EWIs はありません。
ビット演算子¶
演算子
ビット演算子の翻訳
換算テーブル¶
| 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 |
サンプルソースパターン¶
セットアップデータ¶
Redshift¶
クエリ¶
Snowflake¶
クエリ¶
整数値のビット演算子¶
入力コード:¶
Redshift¶
結果¶
出力コード:
Snowflake¶
結果¶
バイナリデータのビット演算子¶
BITAND、 BITOR、 BITXOR 関数では、'LEFT' パラメーターが追加され、両方のバイナリ値の長さが異なる場合にパディングを挿入します。これは、Snowflakeで値を比較する際のエラーを回避するために行われます。
Redshift¶
クエリ¶
結果¶
Snowflake¶
クエリ¶
結果¶
既知の問題¶
問題は見つかりませんでした。
関連 EWIs¶
SSC-FDM-PG0010:Snowflakeのビット関数の動作により、結果が異なる場合があります。