標準 SQL のデバッグ関数

BigQuery は、次のデバッグ関数をサポートします。

ERROR

ERROR(error_message)

説明

エラーを返します。error_message 引数は STRING です。

BigQuery は、エラーが発生する可能性のある式と同じ方法で ERROR を処理します。評価順序の特別な保証はありません。

戻りデータの型

BigQuery によってコンテキスト内で戻り値の型が推論されます。

次の例では、行の値が 2 つの定義された値のいずれかと一致しない場合、クエリはエラー メッセージを返します。

SELECT
  CASE
    WHEN value = 'foo' THEN 'Value is foo.'
    WHEN value = 'bar' THEN 'Value is bar.'
    ELSE ERROR(concat('Found unexpected value: ', value))
  END AS new_value
FROM (
  SELECT 'foo' AS value UNION ALL
  SELECT 'bar' AS value UNION ALL
  SELECT 'baz' AS value);

Found unexpected value: baz

次の例では、ERROR 関数は条件 x > 0 の前に評価される場合もあれば、後に評価される場合もあります。これは、BigQuery では通常、WHERE 句の条件間の順序が保証されず、ERROR 関数に対する特別な保証もないためです。

SELECT *
FROM (SELECT -1 AS x)
WHERE x > 0 AND ERROR('Example error');

次の例では、WHERE 句で IF 条件が評価されるため、ERROR 関数は条件が失敗した場合にのみ評価されます。

SELECT *
FROM (SELECT -1 AS x)
WHERE IF(x > 0, true, ERROR(FORMAT('Error: x must be positive but is %t', x)));'

Error: x must be positive but is -1
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。