SQL Anywhere サーバの文字セット変換によって、すべての SQL 文は解析と実行の前にデータベース文字セットに変換されます。この変換による副作用として、SQL 文に含まれるデータベース文字セットに変換できない文字は置換文字に変換されます。任意の Unicode 文字が含まれた SQL 文は、次のいずれかの方法で実行できます。
UNISTR 関数を使用して Unicode 文字値を指定する
ホスト変数を使用して Unicode 文字値を指定する
データベースの文字セットとして UTF-8 を使用する
UTF8BIN を CHAR 照合として選択した場合、データベースの文字セットは UTF-8 です。UTF-8 エンコードを指定した場合、CHAR 照合は UCA です。
Unicode 照合アルゴリズム (UCA) では、高度な比較、ソート、大文字と小文字の変換ができますが、パフォーマンスが低下する場合があります。UTF8BIN は必要とする領域が少なく、高速ですが、ソート順と比較はバイナリで実行されます。SQL 文で Unicode 文字を使用する場合は、CHAR 照合に UTF8BIN を指定しますが、ソートと比較では UCA の一部の機能しか必要ありません。必要な場合のみ、SORTKEY と COMPARE 関数を使用して UCA を使用します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |