Как проверить, содержит ли таблица нулевое значение или нет в Bigquery? - PullRequest
0 голосов
/ 07 мая 2018

Я пробовал это. Это правильно?

#standardSQL
with table1 as(
SELECT "somename" name,"someaddress" as adrs UNION ALL
SELECT null name,null UNION ALL
SELECT null name,null
)
SELECT sum(array_length(regexp_extract_all(to_json_string(table1),"null[,}]")))no_of_nulls from table1

1 Ответ

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

Это все еще неясно из вопроса и комментариев, но, предполагая, что у вас есть всего несколько столбцов, перечислите их явным образом как часть запроса для подсчета значений NULL:

WITH table1 AS (
  SELECT "somename" AS name,"someaddress" AS adrs UNION ALL
  SELECT NULL, NULL UNION ALL
  SELECT NULL, NULL
)
SELECT COUNTIF(name IS NULL) + COUNTIF(adrs IS NULL) AS null_count
FROM table1

Это более эффективно, чем преобразование в JSON и применение регулярного выражения к результату.

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