1. Искусственно сформируем таблицу с двумя строками, где колонка будет со значением "NULL":
ВЫБРАТЬ
NULL КАК Поле1
ПОМЕСТИТЬ ВременнаяТаблица
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(ВременнаяТаблица.Поле1) КАК Поле1
ИЗ
ВременнаяТаблица КАК ВременнаяТаблица
В результате получим таблицу:
2. Немного изменим запрос.
Добавим в одни из первых запросов значение:
ВЫБРАТЬ
NULL КАК Поле1
ПОМЕСТИТЬ ВременнаяТаблица
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(ВременнаяТаблица.Поле1) КАК Поле1
ИЗ
ВременнаяТаблица КАК ВременнаяТаблица
В результате получим таблицу:
3. Попробуем добавить в запрос "РАЗЛИЧНЫЕ":
ВЫБРАТЬ
NULL КАК Поле1
ПОМЕСТИТЬ ВременнаяТаблица
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВременнаяТаблица.Поле1) КАК Поле1
ИЗ
ВременнаяТаблица КАК ВременнаяТаблица
В результате получим таблицу:
Вывод:
Известно, что NULL не является значением (его отсутствие), но для меня было не очевидно данное поведение.