SnowConvert AI - BigQuery - 연산자

IS 연산자

IS 연산자는 테스트 중인 조건에 대해 TRUE 또는 FALSE를 반환합니다. NULL 입력의 경우에도 NULL을 반환하지 않습니다.(BigQuery SQL 언어 참조 IS 연산자)

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 연산자는 배열을 받아 배열의 각 요소에 대해 하나의 행이 있는 테이블을 반환합니다.(BigQuery SQL 언어 참조 UNNEST 연산자)

이 연산자는 FLATTEN 함수를 사용하여 애뮬레이션되며, 함수에서 반환된 VALUEINDEX 열은 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 * with UNNEST

SELECT * 문 내부에서 UNNEST 연산자를 사용하는 경우 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