Если я запускаю этот запрос:
with a as (
select cast(null as array<string>) as x union all select ['str1','str2'] as x)
select * from a where x is null
Я получаю этот результат:
Это результат, который я ожидал.
Но если я впервые запрошу этот запрос:
select cast(null as array<string>) as x union all select ['str1', 'str2'] as x
, чей результат я сохраняю в таблице "a" в наборе данных "tmp", а затем запускаю этот запрос:
select * from `tmp.a` where x is null
Я получаю этот результат:
Я ожидал результата, идентичного первому. Почему есть разница между двумя результатами?