プライマリ・コンテンツに移動
Oracle® Databaseリファレンス
12c リリース1 (12.1)
B71292-14
目次へ移動
目次
索引へ移動
索引

前
次

1.169 NLS_SORT

プロパティ 説明

パラメータ・タイプ

文字列

構文

NLS_SORT = { BINARY | linguistic_definition }

デフォルト値

NLS_LANGUAGEから導出

変更可能

ALTER SESSION

PDBで変更可能

はい

値の範囲

BINARYまたは有効な言語定義名

基本

いいえ

NLS_SORTには、様々なSQL演算子および句における文字値比較の照合順番を指定します(ORDER BYGROUP BY、比較条件(=<><=>=)、INBETWEENLIKEMIN/MAXGREATEST/LEASTINSTRなど)。

  • この値がBINARYの場合、比較は、比較対象である文字値のバイナリ・エンコードのバイト値に直接基づきます。順番は、比較対象の値のキャラクタ・セットによって異なり、キャラクタ・セットはデータベース・キャラクタ・セット(VARCHAR2CHARLONGおよびCLOB)または各国語キャラクタ・セット(NVARCHAR2NCHARおよびNCLOB)のいずれかとなります。

  • この値が名前付き言語ソートの場合、比較はこのソートによって定義されます。言語ソートでは、1つ以上の自然言語について、使用する人が期待する順番を実現するために、様々なルールが使用されます。これは、通常、それらの言語の辞書や電話帳で使用される順番と同じです。

NLS_SORTパラメータに従う正確な演算子および問合せ句は、NLS_COMPパラメータの値によって異なります。演算子または句がNLS_SORTの値に従っていない場合、NLS_COMPに定められたとおり、照合にはBINARYが使用されます。

BINARY比較は、言語比較よりも高速で使用するリソースも少なくなりますが、自然言語のテキストについてはユーザーが期待する順番になりません。

NLS_SORTの値は、問合せの実行計画に影響します。標準の索引は、言語的な順序でソートする値のソースとして使用できないため、通常は、索引レンジ・スキャンではなく、明示的なソート操作を実行する必要があります。NLSSORT関数にファンクション索引を定義すると、言語的な順序で値をソートして、索引レンジ・スキャンを実行計画に再導入できます。

注意:

この初期化パラメータNLS_SORTの値は、このパラメータのセッション値の初期化に使用され、SQL問合せの処理で参照される実際の値です。クライアントがOracle JDBCドライバを使用しているか、クライアントがOCIベースでありNLS_LANGのクライアント設定(環境変数)が定義されている場合、この初期値はクライアント側の値でオーバーライドされます。そのため、初期化パラメータ値は、通常、無視されます。

関連項目:

  • このパラメータと指定可能な値の最新リストの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。