Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Membahagikan Rentetan Nama kepada Nama Pertama, Tengah dan Akhir dalam MySQL?
Menghuraikan Nama dengan cekap dalam MySQL
MySQL menawarkan beberapa pendekatan untuk membedah rentetan nama ke dalam komponen individunya. Artikel ini memperincikan dua kaedah berkesan untuk tugasan ini.
Kaedah 1: Mengasingkan Nama Pertama, Tengah dan Akhir
Teknik ini memanfaatkan fungsi SUBSTRING_INDEX
dan IF
untuk mengekstrak nama pertama, tengah dan akhir daripada medan fullname
:
<code class="language-sql">SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name, IF( LENGTH(fullname) - LENGTH(REPLACE(fullname, ' ', '')) > 1, SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1), NULL) AS middle_name, SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name FROM registeredusers;</code>
Pertanyaan ini mengekstrak nama pertama menggunakan ruang pertama sebagai pembatas, nama tengah (jika ada) menggunakan ruang kedua dan nama akhir menggunakan yang ketiga. Kenyataan IF
mengendalikan kes di mana nama tengah tiada, mengembalikan NULL
.
Kaedah 2: Menggabungkan Nama Tengah dan Nama Akhir
Pendekatan yang dipermudahkan ini menganggap nama tengah (jika ada) sebagai sebahagian daripada nama keluarga, dengan itu mengeluarkan hanya nama pertama dan nama keluarga:
<code class="language-sql">SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name, TRIM(SUBSTR(fullname, LOCATE(' ', fullname))) AS last_name FROM registeredusers;</code>
Kaedah ini mengenal pasti nama pertama berdasarkan ruang awal dan menetapkan bahagian yang tinggal (selepas mengalih keluar nama pertama) sebagai nama akhir, menggunakan TRIM
untuk mengalih keluar mana-mana ruang depan/belakang.
Kaedah ini menyediakan penyelesaian yang fleksibel untuk menghuraikan rentetan nama dalam MySQL, membolehkan manipulasi dan analisis data yang lebih halus.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Rentetan Nama kepada Nama Pertama, Tengah dan Akhir dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!