Как вы уже знаете, значение null используется в комбинации cube и rollup для задания заменителя значений ненужных столбцов. В этом случае нельзя отличить null в отношении cube и rollup от значения null. Transact-SQL поддерживает стандартизованную функцию grouping, которая позволяет разрешить проблему с двусмысленностью null. Функция grouping возвращает 1, если null в результирующем наборе связан с cube или rollup, и 0, если он представляет группу значений null.
В примере 24.12 показано использование функции grouping:
Если вы посмотрите на сгруппированный столбец (gr), то увидите, что в нем присутствуют 0 и 1. Значение 1 указывает, что соответствующий null в столбце empcnt задает суммарное значение.