Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Văn bản tìm kiếm Oracle với các ký tự không phải tiếng Anh

1) Sử dụng nlssort với BINARY_AI (Chú ý cả chữ hoa và chữ thường):

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) Bạn cũng có thể thay đổi biến phiên NLS_SORT thành binary_ai và sau đó bạn sẽ không phải chỉ định NLS_SORT mọi lúc:

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) Bỏ sử dụng nlssort chức năng và thay đổi trình tự của mọi thứ, cũng đặt biến phiên 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

Tùy chọn 1 chỉ thay đổi hành vi cục bộ, truy vấn mà bạn muốn có các kết quả khác nhau. Tùy chọn 2 và 3 sẽ thay đổi hành vi của các truy vấn khác và có thể không giống như những gì bạn muốn. Xem Bảng 5-2 của Hướng dẫn hỗ trợ toàn cầu hóa cơ sở dữ liệu Oracle® . Ngoài ra, hãy xem phần " Sử dụng chỉ mục ngôn ngữ "để xem cách có thể sử dụng các chỉ mục.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo trình kích hoạt hàng PL / SQL xác thực một cột từ bảng khác

  2. PL / SQL, làm thế nào để thoát khỏi dấu nháy đơn trong một chuỗi?

  3. Khóa chính Autoincrement trong cơ sở dữ liệu Oracle

  4. Làm thế nào bạn có thể biết nếu một giá trị không phải là số trong Oracle?

  5. Oracle - Chế độ xem vật chất hóa vẫn có thể truy cập được trong quá trình làm mới hoàn toàn. Cái này hoạt động ra sao?