無条件にNULLを使用すると言うすべての人に強く反対します。列をNULLにすると、列をNOTNULLとして設定した場合には発生しない追加の状態が発生します。追加の状態が必要ない場合は、これを行わないでください。つまり、空の文字列の意味とnullの意味の違いがわからない場合は、列をNOT NULLとして設定し、空の文字列を使用して空を表します。同じことを2つの異なる方法で表現するのは悪い考えです。
NULLを使用するように言った人のほとんどは、NULLが空の文字列とは異なる意味を持つ例も示しました。そして、それらの例では、それらは正しいです。
ただし、ほとんどの場合、NULLは不要な余分な状態であり、プログラマーはより多くのケースを処理する必要があります。他の人が述べているように、OracleはNULLと空の文字列を同じものとして扱うため、この余分な状態の存在を許可しません(Oracleでnullを許可しない列に空の文字列を格納することは不可能です)。