표준 SQL의 디버깅 함수

BigQuery는 다음 디버깅 함수를 지원합니다.

오류

ERROR(error_message)

설명

오류를 반환합니다. error_message 인수는 STRING입니다.

BigQuery는 오류가 발생할 수 있는 표현식과 같은 방법으로 ERROR를 취급합니다. 특별히 보장되는 평가 순서는 없습니다.

반환 데이터 유형

BigQuery는 컨텍스트에서 반환 유형을 추론합니다.

다음 예시의 쿼리는 행 값이 정의된 두 값 중 하나와 일치하지 않으면 오류 메시지를 반환합니다.

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

다음 예시에서 BigQuery는 x > 0 조건 전 또는 후에 ERROR 함수를 평가할 수 있습니다. 일반적으로 BigQuery는 WHERE 절 조건 간의 순서를 보장하지 않으며 ERROR 함수에는 특별한 보장이 없기 때문입니다.

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

다음 예시에서 WHERE 절은 IF 조건을 평가하고 조건이 실패한 경우에만 BigQuery가 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
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.