Некоторые способы обработки значений NULL в Oracle при работе с функциями агрегирования:
- Использование функции COUNT. habr.com sql-ex.ru Если она применяется в виде COUNT(*) или COUNT(константа), то NULL-значения будут учитываться. habr.com sql-ex.ru Если в виде COUNT(выражение) — то игнорироваться. habr.com sql-ex.ru
- Применение функции NVL. sql-ex.ru Она помогает решить проблему с функцией AVG, которая игнорирует значения NULL. sql-ex.ru
- Замена NULL на строковый литерал, который гарантированно отсутствует в значениях. ru.stackoverflow.com Например, в качестве такого литерала можно использовать CHR(0). ru.stackoverflow.com После замены агрегирование будет выполнено без игнорирования NULL, а после агрегирования нужно выполнить обратную замену. ru.stackoverflow.com
- Использование оконных функций для заполнения недостающих данных. stackoverflow.com Например, last_value() с опцией ignore nulls. stackoverflow.com
Функции агрегирования, такие как SUM и AVG, по-разному обрабатывают значения NULL. www.dev-notes.ru Например, SUM и AVG игнорируют значения NULL, а COUNT может их учитывать, если они явно указаны. www.dev-notes.ru