Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » データベース設定 » 国際言語と文字セット » 照合

 

Unicode 照合アルゴリズム (UCA)

Unicode 照合アルゴリズム (UCA) は、Unicode 文字セット全体のソートに使用するアルゴリズムです。これにより、言語的に正しい比較、ソート、大文字小文字変換が実現されます。UCA は Unicode 規格の一部として開発されました。SQL Anywhere では、IBM が開発および保守している International Components for Unicode (ICU) オープンソースライブラリを使用して UCA を実装しています。

注意

デフォルトの UCA ソート順により、ほとんどの言語のほとんどの文字が適切な順序でソートされます。ただし、同じ文字を使用する言語間でソートや比較にさまざまな違いがあるため、UCA ですべての言語について適切なソート順が得られるわけではありません。そのため、ICU は UCA を調整できる構文を提供しています。 照合の適合化オプションを参照してください。

UCA を使用すると、少ない領域と時間で高度な比較、ソート、大文字小文字変換を実現できます。

マッピング後の文字列は元の文字列より長くなります。このアルゴリズムは、複雑な文字を的確に処理できます。

SQL Anywhere 照合アルゴリズム (SACA) とは異なり、Unicode 照合アルゴリズム (UCA) はシングルバイトの UTF-8 文字セットにのみ使用され、各文字を 1 つまたは複数の属性で区別します。文字の場合、属性は基底文字、アクセント記号、大文字小文字です。

文字以外の場合、通常は基底文字だけが属性になります。

UCA は、次の方法で文字を比較します。

  • 基底文字を比較します。文字列の基底文字が他の文字列と異なる場合は、その時点で比較が完了します。アクセント記号や大文字小文字の違いは考慮されません。

  • データベースでアクセント記号の違いが区別される場合は、アクセント記号が比較されます。アクセント記号が異なる場合、その時点で比較が完了します。大文字小文字の違いは考慮されません。

  • データベースで大文字と小文字が区別される場合は、各文字の大文字と小文字が比較されます。

元の文字列の値が同じとみなされるのは、基底文字、アクセント記号、大文字小文字がまったく同じ場合だけです。

 例