Категорично не съм съгласен с всички, които казват да се използва безусловно NULL. Разрешаването на колона да бъде NULL въвежда допълнително състояние, което не бихте имали, ако зададете колоната като NOT NULL. Не правете това, ако не се нуждаете от допълнителното състояние. Тоест, ако не можете да намерите разлика между значението на празния низ и значението на null, тогава задайте колоната като NOT NULL и използвайте празен низ за представяне на празен. Представянето на едно и също нещо по два различни начина е лоша идея.
Повечето от хората, които ви казаха да използвате NULL, също дадоха пример, когато NULL би означавало нещо различно от празен низ. И в тези примери те са прави.
През повечето време обаче NULL е ненужно допълнително състояние, което просто принуждава програмистите да трябва да обработват повече случаи. Както други споменаха, Oracle не позволява това допълнително състояние да съществува, защото третира NULL и празния низ като едно и също нещо (невъзможно е да се съхранява празен низ в колона, която не позволява null в Oracle).