Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melakukan Carian Tidak Peka Huruf dalam Oracle?

Bagaimanakah Saya Boleh Melakukan Carian Tidak Peka Huruf dalam Oracle?

Susan Sarandon
Lepaskan: 2025-01-17 11:27:13
asal
147 orang telah melayarinya

How Can I Perform Case-Insensitive Searches in Oracle?

Mencapai Carian Tidak Peka Huruf dalam Pangkalan Data Oracle

Pengendali perbandingan lalai Oracle (=, SUKA) adalah sensitif huruf besar-besaran. Panduan ini menggariskan beberapa teknik untuk melakukan carian tidak peka huruf besar-kecil dengan berkesan.

Kaedah 1: Fungsi Penukaran Kes

Tukar kedua-dua data lajur dan rentetan carian kepada huruf besar atau huruf kecil menggunakan UPPER() atau LOWER():

<code class="language-sql">SELECT * FROM my_table WHERE UPPER(column_1) = UPPER('my_string');</code>
Salin selepas log masuk

Untuk prestasi optimum, buat indeks berasaskan fungsi pada lajur yang ditukar:

<code class="language-sql">CREATE INDEX my_index ON my_table (LOWER(column_1));</code>
Salin selepas log masuk

Kaedah 2: Ungkapan Biasa

Oracle 10g dan versi yang lebih baru menawarkan REGEXP_LIKE() dengan bendera 'i' untuk padanan tidak sensitif huruf besar-besaran:

<code class="language-sql">SELECT * FROM my_table WHERE REGEXP_LIKE(column_1, '^my_string$', 'i');</code>
Salin selepas log masuk

Ingat untuk menyertakan sauh permulaan rentetan (^) dan akhir rentetan ($) untuk padanan tepat.

Kaedah 3: Pelarasan Parameter Sesi

Melaraskan parameter sesi NLS_SORT dan NLS_COMP secara global mengubah sensitiviti huruf besar untuk semua perbandingan dalam sesi itu:

<code class="language-sql">ALTER SESSION SET NLS_SORT = BINARY_CI;
ALTER SESSION SET NLS_COMP = LINGUISTIC;</code>
Salin selepas log masuk

Untuk meningkatkan lagi prestasi, pertimbangkan indeks linguistik:

<code class="language-sql">CREATE INDEX my_linguistic_index ON my_table (NLSSORT(column_1, 'NLS_SORT = BINARY_CI'));</code>
Salin selepas log masuk

Pendekatan terbaik bergantung pada keperluan khusus anda. Walau bagaimanapun, pengindeksan yang berkesan adalah penting untuk mengekalkan prestasi pertanyaan dalam semua senario.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Carian Tidak Peka Huruf dalam Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan