Oracleでの空文字の扱い

OracleではCHAR、VARCHAR2型においてNULLと空の文字列(いわゆる"")は同値扱いでNULLになるみたい。

知らんかった。。。

どう考えてもNULLと空の文字列は論理的に意味が異なると思うんだけど・・・。ANSI-92では別のものととして定義されているみたい。

あと一つ勘違いしていたのが、VARCHAR型は末尾の空白文字を取り除くと思ってたんだけど、完全な勘違いだったみたい。