Oracle® Database Reference 10g Release 2 (10.2) Part Number B14237-02 |
|
|
View PDF |
Property | Description |
---|---|
Parameter type | String |
Syntax | NLS_SORT = { BINARY | linguistic_definition } |
Default value | Derived from NLS_LANGUAGE |
Modifiable | ALTER SESSION |
Range of values | BINARY or any valid linguistic definition name |
NLS_SORT
specifies the collating sequence for ORDER BY
queries.
If the value is BINARY
, then the collating sequence for ORDER BY
queries is based on the numeric value of characters (a binary sort that requires less system overhead).
If the value is a named linguistic sort, sorting is based on the order of the defined linguistic sort. Most (but not all) languages supported by the NLS_LANGUAGE
parameter also support a linguistic sort with the same name.
Note:
SettingNLS_SORT
to anything other than BINARY
causes a sort to use a full table scan, regardless of the path chosen by the optimizer. BINARY
is the exception because indexes are built according to a binary order of keys. Thus the optimizer can use an index to satisfy the ORDER BY
clause when NLS_SORT
is set to BINARY
. If NLS_SORT
is set to any linguistic sort, the optimizer must include a full table scan and a full sort in the execution plan.You must use the NLS_SORT
operator with comparison operations if you want the linguistic sort behavior.
See Also:
Oracle Database Globalization Support Guide for a current listing of values you can specify for this parameter
Oracle Database Concepts for more information on this parameter