Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tekst wyszukiwania Oracle ze znakami innymi niż angielskie

1) Używanie nlssort z BINARY_AI (zarówno wielkość liter, jak i bez akcentu):

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) Możesz również zmienić zmienną sesji NLS_SORT na binary_ai, a wtedy nie będziesz musiał za każdym razem podawać 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) Aby zrezygnować z używania nlssort funkcji i zmień sematykę wszystkiego, ustaw także zmienną sesji 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

Opcja 1 zmienia tylko zachowanie lokalne, zapytanie, w którym chcesz uzyskać różne wyniki. Opcje 2 i 3 zmienią zachowanie innych zapytań i mogą nie być tym, czego chcesz. Zobacz Tabela 5-2 Przewodnik obsługi globalizacji bazy danych Oracle® . Zobacz także sekcję „Korzystanie z indeksów językowych ", aby zobaczyć, jak korzystać z indeksów.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PRAWDZIWY typ danych w PLSQL

  2. Typ danych Oracle Number na format daty i godziny

  3. Nadawanie uprawnień użytkownikom na innym schemacie

  4. Typ danych SQL do wykorzystania podczas wpłacania pieniędzy

  5. Jego powiedzenie, że nie mam wybranego wiersza?