Saya telah memisahkan jawaban ini menjadi dua (2) metode. Metode pertama akan memisahkan bidang nama lengkap Anda menjadi nama depan, tengah, dan belakang. Nama tengah akan ditampilkan sebagai NULL jika tidak ada nama tengah.
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
Metode kedua ini menganggap nama tengah sebagai bagian dari nama belakang. Kami hanya akan memilih kolom nama depan dan nama belakang dari kolom nama lengkap Anda.
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
TRIM( SUBSTR(fullname, LOCATE(' ', fullname)) ) AS last_name
FROM registeredusers
Ada banyak hal keren yang dapat Anda lakukan dengan substr, locate, substring_index, dll. Periksa manual untuk kebingungan yang sebenarnya. http://dev.mysql.com/doc/refman /5.0/en/string-functions.html