BigQuery、比較演算子でNULLを比較
BigQueryで、比較演算子で比較される対象のどちらかがNULLだと結果はNULLになる。以下のクエリの結果はどちらもNULLになる。
SELECT CAST(NULL AS INT64) < 1;
SELECT CAST(NULL AS INT64) = CAST(NULL AS INT64);
以下の例だとNULL行と今日の日付の2行が存在しているが、WHERE句で今日の日付のみ取り出すとNULLになっている行は抽出されない。
WITH temp_table AS (
SELECT CAST(NULL AS DATETIME) AS created_at
UNION ALL SELECT CAST(CURRENT_DATE() AS DATETIME)
)
SELECT * FROM temp_table
WHERE created_at = CURRENT_DATE();