select x from y order by x asc とした場合、xが0,1,2,nullだと、この順番にフェッチされる。
そういうものらしいが、ちょっと驚いた。
プログラマのためのSQL第二版のP.216によると、<br>「ソートキーがNULLのときには、非NULLよりも大きいか小さいかは実装依存です。しかし、すべてのソートキーに対して、NULLは、すべての非NULLの値よりも小さいか、または大きいかのいずれかになるでしょう。」<br>とあるので、RDBMSによっては0,1,2,nullではなく、null,0,1,2となります。<br><br>実際に、SQL Server 2005ではnull,0,1,2となります。
なんと、実装依存だとは(上のはOracle11)。どうもありがとうございます。
ジェズイットを見習え
プログラマのためのSQL第二版のP.216によると、<br>「ソートキーがNULLのときには、非NULLよりも大きいか小さいかは実装依存です。しかし、すべてのソートキーに対して、NULLは、すべての非NULLの値よりも小さいか、または大きいかのいずれかになるでしょう。」<br>とあるので、RDBMSによっては0,1,2,nullではなく、null,0,1,2となります。<br><br>実際に、SQL Server 2005ではnull,0,1,2となります。
なんと、実装依存だとは(上のはOracle11)。どうもありがとうございます。