В калькуляторе max(1, NULL()) = NULL, правильно ли так?

0 голосов
AlexeyS в категории Ошибки
Правильно ли то, что в калькуляторе max(1, null()) возвращает NULL?

Обычно агрегирование пропускает NULL.

В Deductor или SQL или узле группировки Loginom

max(1;null())  

будет 1.

Ответ: 1 шт.

0 голосов
alexey.arustamov

Это немного разные вещи.

При использовании функции (а в данном случае maх - это именно функция), в которой есть null значение результат будет null, т.к. один из входных параметров не определен. Функция должна выбрать что-то одно из двух значений.Т.е. это корректный и предсказуемый ответ.

Если же использовать группировку, то логика немного другая. Мы агрегируем, например, находим максимум, из существующих данных, т.е. по этой логике null значения просто не участвуют в агрегации.

AlexeyS
Аргументация вполне приемлемая, вопрос возник из-за выявленных проблем с переносом сценариев из Deductor в части изменения логики работы max() с NULL
...