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 は、次の方法で文字を比較します。
基底文字を比較します。文字列の基底文字が他の文字列と異なる場合は、その時点で比較が完了します。アクセント記号や大文字小文字の違いは考慮されません。
データベースでアクセント記号の違いが区別される場合は、アクセント記号が比較されます。アクセント記号が異なる場合、その時点で比較が完了します。大文字小文字の違いは考慮されません。
データベースで大文字と小文字が区別される場合は、各文字の大文字と小文字が比較されます。
元の文字列の値が同じとみなされるのは、基底文字、アクセント記号、大文字小文字がまったく同じ場合だけです。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |