SnowConvert AI - BigQuery - 演算子

IS 演算子

IS 演算子は、テスト対象の条件に対して TRUE または FALSE を返します。これらは、 NULL 入力の場合でも、NULL を返すことはありません。([BigQuery SQL 言語リファレンス IS 演算子](https://cloud.google.com/bigquery/docs/reference/standard-sql/operators?hl=en#is_operators))

BigQuery

Snowflake

X IS TRUE

NVL(X, FALSE)

X IS NOT TRUE

NVL(NOT X, TRUE)

X IS FALSE

NVL(NOT X, FALSE)

X IS NOT FALSE

NVL(X, TRUE)

X IS NULL

X IS NULL

X IS NOT NULL

X IS NOT NULL

X IS UNKNOWN

X IS NULL

X IS NOT UNKNOWN

X IS NOT NULL

UNNEST 演算子

UNNEST 演算子は配列を受け取り、配列内の各要素を1行ずつ含むテーブルを返します。([BigQuery SQL 言語リファレンス UNNEST 演算子](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#unnest_operator))。

この演算子は[FLATTEN](../../../../sql-reference/functions/flatten.rst)関数を使用してエミュレートされます。関数によって返される VALUE 列と INDEX 列は、 UNNEST 演算子のエイリアスに合わせて名前が変更されます。

BigQuery

Snowflake

UNNEST(arrayExpr)

FLATTEN(INPUT => arrayExpr) AS F0_(SEQ, KEY, PATH, INDEX, F0_, THIS)

UNNEST(arrayExpr) AS alias

FLATTEN(INPUT => arrayExpr) AS alias(SEQ, KEY, PATH, INDEX, alias, THIS)

UNNEST(arrayExpr) AS alias WITH OFFSET

FLATTEN(INPUT => arrayExpr) AS alias(SEQ, KEY, PATH, OFFSET, alias, THIS)

UNNEST(arrayExpr) AS alias WITH OFFSET AS offsetAlias

FLATTEN(INPUT => arrayExpr) AS alias(SEQ, KEY, PATH, offsetAlias, alias, THIS)

SELECT *と UNNEST

UNNEST 演算子を SELECT *ステートメント内で使用すると、 EXCLUDE キーワードを使用して不要な FLATTEN 列が削除されます。

入力:

SELECT * FROM UNNEST ([10,20,30]) AS numbers WITH OFFSET position;
Copy

生成されたコード:

 SELECT
* EXCLUDE(SEQ, KEY, PATH, THIS)
FROM
TABLE(FLATTEN(INPUT => [10,20,30])) AS numbers (
SEQ,
KEY,
PATH,
position,
numbers,
THIS
);
Copy