MySQL में LEFT() और LOCATE() फंक्शन का उपयोग करके स्पेस से पहले का भाग (पहला नाम) निकालें।
सिंटैक्स
SELECT LEFT(yourColumnName, LOCATE(' ', yourColumnName) - 1) as FirstName FROM yourTableName;
उदाहरण
टेबल बनाना
mysql> create table AllCharacterBeforeSpace ( -> FirstNameAndLastName varchar(200) -> ); Query OK, 0 rows affected (0.51 sec)
रिकॉर्ड डालना
mysql> insert into AllCharacterBeforeSpace values('John Smith');
mysql> insert into AllCharacterBeforeSpace values('Carol Taylor');
mysql> insert into AllCharacterBeforeSpace values('Maria Garcia');
mysql> insert into AllCharacterBeforeSpace values('James Johnson');
पहला नाम निकालना
mysql> select left(FirstNameAndLastName, LOCATE(' ', FirstNameAndLastName) - 1) as FirstNameBeforeSpace
-> from AllCharacterBeforeSpace;
+----------------------+ | FirstNameBeforeSpace | +----------------------+ | John | | Carol | | Maria | | James | +----------------------+
फंक्शन व्याख्या
LOCATE(' ', column)— पहला स्पेस की स्थिति ढूंढता है (1-आधारित)LOCATE(...) - 1— स्पेस से ठीक पहले तक की लंबाईLEFT(column, length)— बाएं से उतने वर्ण निकालता है
एज केस: स्पेस न होने पर
mysql> insert into AllCharacterBeforeSpace values('SingleName');
mysql> select left(FirstNameAndLastName, LOCATE(' ', FirstNameAndLastName) - 1)
from AllCharacterBeforeSpace WHERE FirstNameAndLastName = 'SingleName';
परिणाम: खाली स्ट्रिंग (क्योंकि LOCATE 0 लौटाता है, 0-1 = -1, LEFT खाली स्ट्रिंग देता है)
सुरक्षित संस्करण (स्पेस न होने पर पूरा नाम लौटाता है)
SELECT
CASE
WHEN LOCATE(' ', FirstNameAndLastName) > 0
THEN LEFT(FirstNameAndLastName, LOCATE(' ', FirstNameAndLastName) - 1)
ELSE FirstNameAndLastName
END as FirstName
FROM AllCharacterBeforeSpace;
अन्य उपयोगी फंक्शन
-- SUBSTRING_INDEX का उपयोग (अंतिम स्पेस के बाद का भाग) SELECT SUBSTRING_INDEX(FirstNameAndLastName, ' ', -1) as LastName FROM AllCharacterBeforeSpace; -- पहला नाम पाने का वैकल्पिक तरीका SELECT SUBSTRING_INDEX(FirstNameAndLastName, ' ', 1) as FirstName FROM AllCharacterBeforeSpace;