В большинстве известных мне языков программирования:
- NULL - это ничто (пустое значение)
- 0 - это целое число (и это не пустое значение)
- «пробел» - это строка или символ - ТОЖЕ ОЧЕНЬ НЕПУСТЫЕ ЗНАЧЕНИЯ!
Далее — NULL можно (по глупости) ассоциировать со строкой нулевой длинны (а это "") и это ТОЖЕ НЕ ПУСТОЕ ЗНАЧЕНИЕ!
Возможно в каком-то языке возможно ассоциировать NULL и ∀ из набора [0, "", " "], но лично я его не знаю.