Для isnull (table_name) счетчик равен 0, но для многих строк в этой таблице нет значений. Как получить правильный счет? - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь улучшить качество данных и точность отчетов путем отслеживания и преобразования пустых ячеек в строках таблицы. Но чтобы узнать, сколько таблиц не имеет значений, я использовал SELECT COUNT () FROM TABLE_NAME WHERE isNull (column_name) *

Этот запрос вернул 0 отсчетов, что является для меня проблемой. Можете ли вы дать мне решение для преодоления этой проблемы?

1 Ответ

0 голосов
/ 20 февраля 2020

Ноль против проблемы ''

create table TABLE_NAME(column_name Nullable(String)) Engine=Log;
insert into TABLE_NAME values(''), ('1'), (Null);

SELECT *
FROM TABLE_NAME

┌─column_name─┐
│             │
│ 1           │
│ ᴺᵁᴸᴸ        │
└─────────────┘


SELECT COUNT()
FROM TABLE_NAME
WHERE isNull(column_name)

┌─COUNT()─┐
│       1 │
└─────────┘

SELECT COUNT()
FROM TABLE_NAME
WHERE column_name = ''

┌─COUNT()─┐
│       1 │
└─────────┘

SELECT COUNT()
FROM TABLE_NAME
WHERE coalesce(column_name, '') = ''

┌─COUNT()─┐
│       2 │
└─────────┘
...