指定された文字列に対してソート・キー値を戻します。
SQL構文
NLSSORT (String
[,'NLS_SORT =SortName
'])
パラメータ
NLSSORTには、次のパラメータがあります。
パラメータ | 説明 |
---|---|
String |
String にサポートされているデータ型はCHAR、VARCHAR2、NCHAR、およびNVARCHAR2です。 文字列を指定すると、NLSSORTによって、String をソートするために使用されるソート・キー値が戻されます。 |
['NLS_SORT = SortName '] |
SortName は、言語ソート順序またはBINARYのいずれかです。このパラメータを省略すると、現在のセッションのデフォルトのソート順序が使用されます。 アクセントを区別しないソートの場合は接尾辞-ai を、大/小文字を区別しないソートの場合は-ci をSortName の末尾に追加します。 指定可能な言語のSortName 値の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のサポートされている言語ソートに関する項を参照してください。 |
説明
戻されるソート・キー値のデータ型はVARBINARY型になります。
言語比較用に言語索引を作成できます。
例
次の例は、文字列のバイナリ値ではなく、言語ソート順序に基づいたソートおよび比較の処理を示しています。 また、この例は、ALTER SESSION... SET NLS_SORT文を使用することによって同じ結果が得られることも示しています。
Command> CREATE TABLE nsortdemo (name VARCHAR2 (15)); Command> INSERT INTO nsortdemo VALUES ('Gaardiner'); 1 row inserted. Command> INSERT INTO nsortdemo VALUES ('Gaberd'); 1 row inserted. Command> INSERT INTO nsortdemo VALUES ('Gaasten'); 1 row inserted. Command> # Perform Sort Command> SELECT * FROM nsortdemo ORDER BY name; < Gaardiner > < Gaasten > < Gaberd > 3 rows found. Command> #Use function to perform sort Command> SELECT * FROM nsortdemo ORDER BY NLSSORT (name, 'NLS_SORT = XDanish'); < Gaberd > < Gaardiner > < Gaasten > 3 rows found. Command># comparison operation Command> SELECT * FROM nsortdemo where Nnme > 'Gaberd'; 0 rows found. Command> #Use function in comparison operation Command> SELECT * FROM nsortdemo WHERE NLSSORT (name, 'NLS_SORT = XDanish') > > NLSSORT ('Gaberd', 'NLS_SORT = XDanish'); < Gaardiner > < Gaasten > 2 rows found. Command> #Use ALTER SESSION to obtain the same results Command> ALTER SESSION SET NLS_SORT = 'XDanish'; Command> SELECT * FROM nsortdemo ORDER BY name; < Gaberd > < Gaardiner > < Gaasten > 3 rows found. Command> SELECT * FROM nsortdemo where name > 'Gaberd'; < Gaardiner > < Gaasten > 2 rows found.
次の例では、言語索引を作成します。
Command> CREATE INDEX danishindex ON nsortdemo (NLSSORT (name, 'NLS_SORT = XDanish')); Command> INDEXES N%; Indexes on table USER1.NSORTDEMO: DANISHINDEX: non-unique T-tree index on columns: NLSSORT(NAME,'NLS_SORT = XDanish') 1 index found. 1 table found.