मैंने इस उत्तर को दो (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
सबस्ट्र, लोकेट, सबस्ट्रिंग_इंडेक्स, आदि के साथ आप बहुत अच्छी चीजें कर सकते हैं। कुछ वास्तविक भ्रम के लिए मैनुअल देखें। http://dev.mysql.com/doc/refman /5.0/hi/string-functions.html