MS SQL Server2008と Oracle 11gで同じ検索結果(順序)にすることはできるのか(2)

昨日の整理として、MS SQL Server2008のBINとBIN2では比較の違いがあり、

メソッド 方法
BIN 単純に先頭から2バイト単位で取得して比較
BIN2 コードポイントを意識して比較

ということでした。
具体的にどう困るのかというポイントに関しては、

  1. ソート順序が変わる。具体的にはspaceが先に来るのがBIN
  2. 比較(LIKE文など)で差が出る

というところです。
今回は1番目に絞って検証しました。比較も重要ですけど。
0〜42までのコードをテーブルにインサートして、BIN(MSSQL)、BIN2(MSSQL)、BINARY(ORACLE)で結果を見てみることにします。
予想としては、BINはスペースが先頭に来るはずですね。

次にBIN2の結果です。

最後にBINARYの結果です。

BINARYの場合も、BINのようにspaceが先頭に来なくて良かったです。
この結果をもって、BIN2(MSSQL)=BINARY(ORACLE)とはとても言えないですが、ORACLEのマニュアルにもあるとおり、BINARYはコードポイントを意識してソートしていると思います。