SET COLLATE コマンド
後続のインデックス作成および並べ替え操作における文字フィールドの照合順序を指定します。
構文
SET COLLATE TO cSequenceName
引数
cSequenceName
照合順序を指定します。 使用できる照合順序のオプションについては、次の表で説明します。
オプション | Language |
---|---|
オランダ語 | オランダ語 |
GENERAL | 英語、フランス語、ドイツ語、現代スペイン語、ポルトガル語、その他の西ヨーロッパ言語 |
ドイツ語 | ドイツ語電話帳の注文 (DIN) |
アイスランド | アイスランド語 |
マシン | マシン (以前の FoxPro バージョンの既定の照合順序) |
NORDAN | ノルウェー語、デンマーク語 |
スペイン語 | 繁体字スペイン語 |
SWEFIN | スウェーデン語、フィンランド語 |
UNIQWT | 一意の重み |
Note
SPANISH オプションを指定すると、 ch は c と d の間で並べ替えられる 1 文字で、 ll はl と m の間で並べ替えられます。
照合順序オプションをリテラル文字列として指定する場合は、必ずオプションを引用符で囲んでください。
SET COLLATE TO "SWEFIN"
MACHINE は既定の照合順序オプションであり、Xbase ユーザーが使い慣れているシーケンスです。 文字は、現在のコード ページに表示される順序で並べ替えます。
米国および西ヨーロッパのユーザーには GENERAL が適している場合があります。 文字は、現在のコード ページに表示される順序で並べ替えます。 2.5 より前の FoxPro バージョンでは、文字フィールドを一貫した大文字と小文字に変換するために UPPER( ) または LOWER( ) 関数を使用してインデックスが作成されている可能性があります。 2.5 より後の FoxPro バージョンでは、代わりに GENERAL 照合順序オプションを指定し、 UPPER( ) 変換を省略できます。
MACHINE 以外の照合順序オプションを指定し、.idx ファイルを作成する場合は、常にコンパクトな .idx が作成されます。
SET("COLLATE") を使用して、現在の照合順序を返します。
データ ソースの照合順序を指定するには、 ODBC Visual FoxPro セットアップ ダイアログ ボックス を使用するか、 SQLDriverConnect を使用した接続文字列で Collate キーワードを使用します。 これは、次のコマンドを発行する場合と同じです。
SET COLLATE TO cSequenceName
解説
SET COLLATE を使用すると、サポートされている言語のアクセント記号付き文字を含むテーブルを並べ替えられます。 SET COLLATE の設定を変更しても、以前に開いたインデックスの照合順序には影響しません。 Visual FoxPro では、既存のインデックスが自動的に維持され、同じフィールドでもさまざまな種類のインデックスを柔軟に作成できます。
たとえば、SET COLLATE を GENERAL に設定してインデックスを作成し、SET COLLATE 設定を後で SPANISH に変更した場合、インデックスは GENERAL 照合順序を保持します。