Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Aksen dan susunan huruf besar/kecil di Oracle dengan LIKE

salah satu metodenya adalah dengan memodifikasi parameter sesi Anda NLS_SORT dan NLS_COMP :

SQL> SELECT Name FROM CollationTestTable WHERE NAME LIKE '%pe%';

NAME
--------------------------------------------------------------------------------
pepe

SQL> alter session set nls_sort=Latin_AI;

Session altered

SQL> alter session set nls_comp=linguistic;

Session altered

SQL> SELECT Name FROM CollationTestTable WHERE NAME LIKE '%pe%';

NAME
--------------------------------------------------------------------------------
pepe
pépé
PEPE

Seperti yang ditunjukkan pada SO lain, Anda tidak dapat menggunakan operator LIKE dengan NLSSORT (ini karena, NLSSORT mengembalikan string byte yang akan digunakan untuk pengurutan, dan LIKE hanya berfungsi dengan string karakter)

Pembaruan: Meskipun pengaturan parameter NLS akan menjadi pilihan pertama saya, Anda juga dapat menggunakan fungsi bawaan untuk mencapai hasil yang sama. Beberapa contoh:

SQL> SELECT Name
  2    FROM CollationTestTable
  3   WHERE upper(convert(NAME, 'US7ASCII'))
  4         LIKE upper(convert('%pe%', 'US7ASCII'));

NAME
--------------------------------------------------------------------------------
pepe
pépé
PEPE

SQL> SELECT Name
  2    FROM CollationTestTable
  3   WHERE upper(translate(NAME, 'àâéèêìîòôùûÿ', 'aaeeeiioouuy'))
  4         LIKE upper(translate('%pe%', 'àâéèêìîòôùûÿ', 'aaeeeiioouuy'));

NAME
-----------------------------------
pepe
pépé
PEPE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-02287:nomor urut tidak diperbolehkan di sini

  2. Buat pemicu yang memperbarui kolom di satu tabel saat kolom di tabel lain diperbarui

  3. Bagaimana cara membuat aplikasi Java saya mengidentifikasi dirinya ke Oracle saat terhubung?

  4. kursor:pin S tunggu di X

  5. Cara Mengekspor Hasil Permintaan Oracle ke File JSON saat menggunakan SQLcl