BigQuery стандартный SQL: проверка, является ли массив нулевым, не работает - PullRequest
0 голосов
/ 04 мая 2018

Если я запускаю этот запрос:

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

Я получаю этот результат:

enter image description here

Это результат, который я ожидал.

Но если я впервые запрошу этот запрос:

 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

Я получаю этот результат:

enter image description here

Я ожидал результата, идентичного первому. Почему есть разница между двумя результатами?

1 Ответ

0 голосов
/ 04 мая 2018

Обходной путь: Чтобы получить одинаковый результат для обоих случаев, вы можете использовать в предложении where функцию ARRAY_LENGTH(x)=0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...