Как написать оператор выбора sqlite для записей NULL - PullRequest
0 голосов
/ 14 ноября 2010

У меня есть столбец, который содержит нулевые значения в некоторых строках.

Я хочу сделать сумму значений столбца, написав оператор выбора в sqlite.

Как написать оператор так, чтобы он обрабатывал нулевые значения как 0.

Моя текущая инструкция sqlite: выберите сумму (сумму) из таблицы1 выдает ошибку, так как возвращает ноль.

Пожалуйста, помогите.

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

Согласование с Документация SQLite :

Агрегатные функции sum () и total () возвращают сумму всех ненулевых значений в группе.Если нет входных строк, отличных от NULL, то sum () возвращает NULL, а total () возвращает 0.0.NULL обычно не является полезным результатом для суммы без строк, но

Так что я думаю, вам лучше использовать total () вместо sum (), если вы ожидаете, что результат будет 'non-null.

1 голос
/ 14 ноября 2010

Вы можете использовать функции ifnull (x, y) или coalesce (x, y, z, ...).Каждый из них возвращает первое ненулевое значение из списка параметров слева направо.ifnull имеет ровно два параметра, тогда как coalesce имеет как минимум два.

выберите сумму (ifnull (сумма, 0)) из таблицы1

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