1) Използване на nlssort
с BINARY_AI (независими както от главни букви, така и от ударения):
SQL> select nlssort('Peña Báináõ', 'NLS_SORT = BINARY_AI') C from dual;
C
------------------------
70656E61206261696E616F00
SQL> select nlssort('Pena Bainao', 'NLS_SORT = BINARY_AI') C from dual;
C
------------------------
70656E61206261696E616F00
SQL> select nlssort('pena bainao', 'NLS_SORT = BINARY_AI') C from dual;
C
------------------------
70656E61206261696E616F00
SQL> select 'true' T from dual where nlssort('pena bainao', 'NLS_SORT = BINARY_AI') = nlssort('Peña Báináõ', 'NLS_SORT = BINARY_AI') ;
T
----
true
2) Можете също така да промените сесийната променлива NLS_SORT на binary_ai и тогава няма да се налага да указвате NLS_SORT всеки път:
SQL> select 'true' T from dual where nlssort('pena bainao') = nlssort('Peña Báináõ') ;
no rows selected
SQL> alter session set nls_sort = binary_ai;
Session altered.
SQL> select 'true' T from dual where nlssort('pena bainao') = nlssort('Peña Báináõ') ;
T
----
true
3) За да отмените използването на nlssort
функция и промяна на сематиката на всичко, също задайте променливата на сесията nls_comp:
SQL> select 'true' T from dual where 'pena bainao' = 'Peña Báináõ';
no rows selected
SQL> alter session set nls_comp = linguistic;
Session altered.
SQL> select 'true' T from dual where 'pena bainao' = 'Peña Báináõ';
T
----
true
Опция 1 променя само локалното поведение, заявката, където искате различни резултати. Опции 2 и 3 ще променят поведението на други заявки и може да не са това, което искате. Вижте Таблица 5-2 от Ръководство за поддръжка на Oracle® Database Globalization . Вижте също раздела "Използване на езикови индекси “, за да видите как да можете да използвате индекси.