Mengekstrak Data daripada Rentetan Terhad dalam Pelayan SQL
SQL Server tidak mempunyai fungsi terbina dalam untuk membelah terus rentetan yang dibataskan. Walau bagaimanapun, kita boleh memanfaatkan fungsi PARSENAME
sebagai penyelesaian. Fungsi ini, biasanya digunakan untuk menghuraikan nama objek pangkalan data, boleh disesuaikan untuk tujuan ini.
Fungsi PARSENAME
berfungsi dengan membelah rentetan berdasarkan noktah (.
). Untuk menggunakannya dengan pembatas lain, kami mula-mula menggantikan pembatas dengan noktah. Contohnya, untuk mengekstrak elemen kedua daripada rentetan yang dibatasi ruang:
<code class="language-sql">SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)</code>
Pertanyaan ini mengembalikan "John". Fungsi REPLACE
menukar ruang kepada noktah dan PARSENAME(..., 2)
mengekstrak elemen kedua.
Penghadan PARSENAME:
Kaedah PARSENAME
mempunyai had. Jika rentetan anda sudah mengandungi noktah, pendekatan ini akan gagal. Selain itu, ia hanya praktikal untuk bilangan elemen terhad yang terhad.
Penyelesaian yang Lebih Teguh: Fungsi Ditentukan Pengguna (UDF)
Untuk senario yang lebih kompleks dan pemisahan rentetan yang boleh dipercayai, UDF tersuai disyorkan. UDF yang direka dengan baik boleh mengendalikan pelbagai pembatas dan mengekstrak elemen dengan cekap daripada rentetan dengan banyak segmen. Ini menyediakan penyelesaian yang lebih berskala dan boleh diselenggara berbanding dengan penyelesaian PARSENAME
.
Atas ialah kandungan terperinci Bagaimana saya boleh mengakses item tertentu dalam rentetan yang dibatasi menggunakan SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!