MS SQL Server2008と Oracle 11gで同じ検索結果(順序)にすることはできるのか(1)
SQL Serverには、照合順序というものがあります。並べ順のことです。インストール時には、以下の部分で設定します。
インストール後、データベースのプロパティでデータベースごとに設定することもできたはず。
一方Oracleでは、インストール時に設定する部分はないと思います。
NLS_SORTというパラメータで制御されているようで、デフォルトの値はBINARYだそうです。
またSQL Serverには、BINとBIN2という2つのバイナリ比較が用意されていますが、これはどう違うのでしょう。
SAPのインストール時には「BIN2を設定せよ」と手順書にありますので、今まで盲目的にBIN2、BIN2と覚えていたのですが調べてみると、
http://sqljp.com/yoshihirokawabata/archive/2007/12/03/24348.aspx
というものを発見いたしました。やはりBIN2で良さそうです。
さて、問題は、MSSQL2008のBIN2とORACLE11gのBINARYが、ほぼ同じ比較を行ってくれれば良い訳です。
ちなみに、BINとBIN2の違いは、
メソッド | 方法 |
---|---|
BIN | 単純に先頭から2バイト単位で取得して比較 |
BIN2 | コードポイントを意識して比較 |
だそうです。
明日、データの検証を行ってみたいと思います。