EBCDIC および ASCII 照合シーケンスにおけるソート順の相違

データベースのデータがソートされる順序は、そのデータベースに対して定義された照合シーケンスによって決まります。 例えば、データベース A は EBCDIC コード・ページのデフォルトの照合シーケンスを使用し、データベース B は ASCII コード・ページのデフォルトの照合シーケンスを使用すると仮定します。 この 2 つのデータベースでのソート順は、次の例に示すように異なります。

図1: EBCDIC ベースのシーケンスにおけるソート順と ASCII ベースのシーケンスにおけるソート順の違いの例
SELECT.....
  ORDER BY COL2
 
EBCDIC-Based Sort        ASCII-Based Sort
 
COL2                     COL2
----                     ----
V1G                      7AB
Y2W                      V1G
7AB                      Y2W 

同様に、データベースでの文字比較も、そのデータベースに対して定義された照合シーケンスによって異なります。 したがって、データベース A が EBCDIC コード・ページのデフォルトの照合シーケンスを使用し、データベース B が ASCII コード・ページのデフォルトの照合シーケンスを使用する場合、この 2 つのデータベースでの文字比較の結果は異なることになります。 違いは以下のとおりです。

図2: EBCDIC ベースのシーケンスにおける文字比較と ASCII ベースのシーケンスにおける文字比較の違いの例
SELECT.....
  WHERE COL2 > 'TT3'
 
EBCDIC-Based Results     ASCII-Based Results
 
COL2                     COL2
----                     ----
TW4                      TW4
X72                      X72
39G                                                
 

フェデレーテッド・データベースを作成する場合は、使用する照合シーケンスがデータ・ソースでの照合シーケンスと一致するよう指定してください。 このアプローチはプッシュダウンの機会を最大限に生かすものであり、クエリーのパフォーマンスを向上させる可能性もあります。