Зачем использовать NULL в базах данных?
 Простой пример: таблица пользователей и форма для их редактирования. Если мы не заполняем поле и отправляем форму, то на сервер приходит пустая строка, которая и сохраняется в БД. это у вас она сохраняется. Что мешает этого не делать? Достаточно после валидации бизнес-логики пройтись по массиву данных, перед вставкой в базу, и обNULLить все переменные с пустыми строками. Пустые строки в базе не нужны, никогда. Нет ни одной причины их там хранить. пустая строка - это тоже осмысленное значение  теоретически - это "осмысленное значение", практически - это мусор, это результат развития языков высокого уровня, типа php, которые позволяют вам записывать в базу пустую строку (поощряют это делать в виду своих конструктивных особенностей).
Отсутствие значения (null) не будет использоваться при операциях со строками. К примеру, если вы будете считать среднее по столбцу, то такие строки будут отброшены, а если вместо null будет 0, то они будет учитываться и результат будет некорректен. 
Поэтому выбирайте по-смыслу.