2016-07-05 3 views
-1

Я спросил «Как заменить NULL на 0 в excel ado?» в stackoverflow.Использование CASE для замены NULL на 0 в excel ado

https://stackoverflow.com/questions/38176606/how-to-replace-null-with-0-in-excel-ado?noredirect=1#comment63789328_38176606

Там нет правильного ответа здесь.

ТОГДА я м мышления с использованием СЛУЧАЙ заменить 0

SELECT officer ,null,case sum(mkt) when NULL then '0' END ,Sum(Non),sum(ICP),(sum(mkt)+Sum(Non)+sum(ICP)) as total,sum(Totalmin) From [DB$] 

Однако ошибка синтаксиса происходит.

Могу ли я использовать CASE в excel ado? или действительно моя синтаксическая ошибка?

+0

Вы должны строить свои запросы в конструкторе запросов из любой базы данных, которые вы используете. Вы можете либо скопировать sql из запросов, либо использовать его с помощью ado или вызвать запрос по имени, используя ado. –

+0

@ Thomas Inzina Нет, я не использую какую-либо базу данных, я просто использую таблицу excel .in excel. – Vito

+0

Вы запрашиваете таблицу Excel или базу данных? –

ответ

0

COALESCE будет работать в этой ситуации.

Оценивает аргументы в порядке и возвращает текущее значение первого выражения , которое изначально не оценивает значение NULL.

SELECT officer,null,COALESCE(sum(mkt), 0), Sum(Non),sum(ICP),(sum(mkt)+Sum(Non)+sum(ICP)) as total,sum(Totalmin) From [DB$] 
+0

не работает. Он показывает, что функция не определена. Я думаю, ADO не использует эту функцию. – Vito

+0

Я думаю, что chasenyc просто модифицировал ваш пример, который не является допустимым предложением select, чтобы продемонстрировать, как использовать COALESCE. Я бы попробовал минимальный выбор, чтобы увидеть, работает ли COALESCE для вас. 'SELECT COALESCE (sum (mkt), 0) как SumOfMkt From [DB $];' Я думаю, что это правильно 'SELECT sum (COALESCE (mkt, 0)) как SumOfMkt From [DB $];' –

+0

@Thomas Inzina оба не работает, он показывает, что функция не определена. Я думаю, ADO не использует эту функцию. – Vito