Мы можем запустить проверку запроса на NOT NULL в предложении WHERE. Я использую количество для удобства.
SQL> select count(*)
2 from emp
3 where comm is not null
4 /
COUNT(*)
----------
4
SQL>
Итак, в четырех строках значение COMM установлено.
Если мы хотим проверить наличие значения в проекции, то мы можем использовать CASE()
, DECODE()
или одну из функций Oracle NULL . Например, этот оператор переносит вызов [NVL2()][2]
в SUM()
, чтобы подсчитать, сколько экземпляров COMM NULL и NOT NULL в одном запросе.
SQL> select sum(nvl2(comm, 1, 0)) as notnull_cnt
2 , sum(nvl2(comm, 0, 1)) as null_cnt
3 from emp
4 /
NOTNULL_CNT NULL_CNT
----------- ----------
4 16
SQL>