Beam ZetaSQL 条件式
このページでは、Beam ZetaSQLでサポートされているZetaSQLスカラー関数について説明します。
| 構文 | 入力データ型 | 結果データ型 | 説明 |
|---|
CASE expr
WHEN value THEN result
[WHEN ...]
[ELSE else_result]
END | exprとvalue:任意の型 | resultとelse_result:入力型のスーパータイプ。 | exprを後続の各WHEN句の値と比較し、この比較がtrueを返す最初の結果を返します。残りのWHEN句とelse_resultは評価されません。すべてのWHEN句でexpr = valueの比較がfalseまたはNULLを返す場合、else_resultが存在する場合はそれを返し、存在しない場合はNULLを返します。exprとvalue式は、暗黙的に共通のスーパータイプに強制型変換できる必要があります。等価比較は、強制型変換された値に対して行われます。resultとelse_resultの式は、共通のスーパータイプに強制型変換できる必要があります。 |
CASE
WHEN cond1 THEN result
[WHEN cond2...]
[ELSE else_result]
END | cond: BOOL | resultとelse_result:入力型のスーパータイプ。 | 後続の各WHEN句の条件condを評価し、条件がtrueになる最初の結果を返します。残りのWHEN句とelse_resultは評価されません。すべての条件がfalseまたはNULLの場合、else_resultが存在する場合はそれを返し、存在しない場合はNULLを返します。resultとelse_resultの式は、暗黙的に共通のスーパータイプに強制型変換できる必要があります。 |
| COALESCE(expr1, ..., exprN) | 任意の型 | 入力型のスーパータイプ | 最初のNULLでない式の値を返します。残りの式は評価されません。すべての入力式は、暗黙的に共通のスーパータイプに強制型変換できる必要があります。 |
| IF(cond, true_result, else_result) | cond: BOOL | true_resultとelse_result:任意の型。 | condがtrueの場合、true_resultを返し、それ以外の場合はelse_resultを返します。condがtrueの場合、else_resultは評価されません。condがfalseまたはNULLの場合、true_resultは評価されません。true_resultとelse_resultは、共通のスーパータイプに強制型変換できる必要があります。 |
| IFNULL(expr, null_result) | 任意の型 | 任意の型または入力型のスーパータイプ。 | exprがNULLの場合、null_resultを返します。それ以外の場合は、exprを返します。exprがNULLでない場合、null_resultは評価されません。exprとnull_resultは、暗黙的に共通のスーパータイプに強制型変換できる必要があります。COALESCE(expr, null_result)の同義語。 |
| NULLIF(expression, expression_to_match) | 任意の型TまたはTのサブタイプ | 任意の型TまたはTのサブタイプ | expression = expression_to_matchがtrueの場合、NULLを返し、それ以外の場合はexpressionを返します。expressionとexpression_to_matchは、暗黙的に共通のスーパータイプに強制型変換できる必要があります。等価比較は、強制型変換された値に対して行われます。 |