Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Cekap Mencari Indeks Aksara Terakhir dalam Pelayan SQL Tanpa Menggunakan LastIndexOf?
Cara alternatif untuk mencari indeks aksara terakhir dalam SQL Server
Ramai pembangun mendapati sukar untuk menggunakan fungsi LastIndexOf dalam SQL Server untuk mengekstrak aksara tertentu daripada rentetan, terutamanya apabila berurusan dengan rentetan yang mengandungi aksara khas. Untuk menyelesaikan masalah ini, mari kita meneroka beberapa alternatif menggunakan fungsi terbina dalam SQL Server.
Dapatkan semula aksara dari hujung rentetan
Untuk mendapatkan semula aksara daripada penghujung rentetan selepas pembatas yang ditentukan (cth. "_"), anda boleh menggunakan penyelesaian berikut:
<code class="language-sql">select right(db_name(), charindex('_', reverse(db_name()) + '_') - 1)</code>
Pertanyaan ini menggunakan fungsi RIGHT untuk mendapatkan semula bilangan aksara yang ditentukan dari hujung kanan rentetan dan CHARINDEX untuk menentukan indeks pembatas.
Dapatkan semula aksara dari permulaan rentetan
Sebagai alternatif, jika anda perlu mendapatkan semula aksara sebelum pembatas tertentu, anda boleh menggunakan fungsi KIRI:
<code class="language-sql">select left(db_name(), len(db_name()) - charindex('_', reverse(db_name()) + '_'))</code>
LEFT akan mengembalikan bilangan aksara yang ditentukan dari permulaan rentetan, manakala CHARINDEX sekali lagi mencari indeks pembatas.
Kaedah ini menyediakan penyelesaian yang lebih langsung dan boleh dibaca untuk mengekstrak aksara daripada rentetan dalam SQL Server tanpa memerlukan operasi pembalikan rentetan yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Indeks Aksara Terakhir dalam Pelayan SQL Tanpa Menggunakan LastIndexOf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!