Разделих този отговор на два (2) метода. Първият метод ще раздели полето ви за пълно име на собствено, средно и фамилно име. Средното име ще се покаже като NULL, ако няма средно име.
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
Този втори метод разглежда второто име като част от фамилното име. Ще изберем само колона за име и фамилия от полето ви за пълно име.
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
TRIM( SUBSTR(fullname, LOCATE(' ', fullname)) ) AS last_name
FROM registeredusers
Има куп страхотни неща, които можете да правите с substr, locate, substring_index и т.н. Проверете ръководството за истинско объркване. http://dev.mysql.com/doc/refman /5.0/bg/string-functions.html